سؤال

إذا كنت تستخدم "أعلى" أستطيع أن أرى ما CPU هو مشغول وما العملية باستخدام كل من بلدي وحدة المعالجة المركزية.

إذا كنت تستخدم "iostat -x" أستطيع أن أرى ما دفع مشغول.

ولكن كيف أرى ما هي العملية التي تستخدم كل من الإنتاجية في محرك الأقراص؟

هل كانت مفيدة؟

المحلول

أنت تبحث عن iotop (على افتراض كنت قد حصلت على نواة> 2.6.20 وبيثون 2.5). إذا تعذر ذلك، كنت تبحث في ربط إلى نظام الملفات. أوصي السابق.

نصائح أخرى

لمعرفة أي عمليات في ولاية 'D' (في انتظار استجابة القرص) تقوم حاليا بتشغيل:

وwhile true; do date; ps aux | awk '{if($8=="D") print $0;}'; sleep 1; done

أو

وwatch -n1 -d "ps axu | awk '{if (\$8==\"D\") {print \$0}}'"

Wed Aug 29 13:00:46 CLT 2012
root       321  0.0  0.0      0     0 ?        D    May28   4:25  \_ [jbd2/dm-0-8]
Wed Aug 29 13:00:47 CLT 2012
Wed Aug 29 13:00:48 CLT 2012
Wed Aug 29 13:00:49 CLT 2012
Wed Aug 29 13:00:50 CLT 2012
root       321  0.0  0.0      0     0 ?        D    May28   4:25  \_ [jbd2/dm-0-8]
Wed Aug 29 13:00:51 CLT 2012
Wed Aug 29 13:00:52 CLT 2012
Wed Aug 29 13:00:53 CLT 2012
Wed Aug 29 13:00:55 CLT 2012
Wed Aug 29 13:00:56 CLT 2012
root       321  0.0  0.0      0     0 ?        D    May28   4:25  \_ [jbd2/dm-0-8]
Wed Aug 29 13:00:57 CLT 2012
root       302  0.0  0.0      0     0 ?        D    May28   3:07  \_ [kdmflush]
root       321  0.0  0.0      0     0 ?        D    May28   4:25  \_ [jbd2/dm-0-8]
Wed Aug 29 13:00:58 CLT 2012
root       302  0.0  0.0      0     0 ?        D    May28   3:07  \_ [kdmflush]
root       321  0.0  0.0      0     0 ?        D    May28   4:25  \_ [jbd2/dm-0-8]
Wed Aug 29 13:00:59 CLT 2012
root       302  0.0  0.0      0     0 ?        D    May28   3:07  \_ [kdmflush]
root       321  0.0  0.0      0     0 ?        D    May28   4:25  \_ [jbd2/dm-0-8]
Wed Aug 29 13:01:00 CLT 2012
root       302  0.0  0.0      0     0 ?        D    May28   3:07  \_ [kdmflush]
root       321  0.0  0.0      0     0 ?        D    May28   4:25  \_ [jbd2/dm-0-8]
Wed Aug 29 13:01:01 CLT 2012
root       302  0.0  0.0      0     0 ?        D    May28   3:07  \_ [kdmflush]
root       321  0.0  0.0      0     0 ?        D    May28   4:25  \_ [jbd2/dm-0-8]
Wed Aug 29 13:01:02 CLT 2012
Wed Aug 29 13:01:03 CLT 2012
root       321  0.0  0.0      0     0 ?        D    May28   4:25  \_ [jbd2/dm-0-8]

وكما ترون من النتيجة، وjdb2 / DM-0-8 (EXT4 عملية مجلة)، وkdmflush هي منع باستمرار لينكس الخاص بك.

لمزيد من التفاصيل هذا URL يمكن أن تكون مفيدة: <لأ href = "http://www.chile-offshore.com/en/interesting-articles/126-linux-wait-io-problem" يختلط = "noreferrer" > لينكس انتظر-IO مشكلة

فوق يعمل أيضا جيدا وتثبيت بسهولة حتى على كبار السن أنظمة 5.X سينت أو إس والتي لا يمكن تشغيل iotop . ضرب d لإظهار التفاصيل القرص، ? للمساعدة.

ATOP - mybox                           2014/09/08  15:26:00                           ------                            10s elapsed
PRC |  sys    0.33s |  user   1.08s |                | #proc    161  |  #zombie    0 |  clones    31 |                | #exit         16  |
CPU |  sys   4% |  user     11% |  irq       0%  | idle    306%  |  wait     79% |               |  steal     1%  | guest     0%  |
cpu |  sys   2% |  user      8% |  irq       0%  | idle     11%  |  cpu000 w 78% |               |  steal     0%  | guest     0%  |
cpu |  sys   1% |  user      1% |  irq       0%  | idle     98%  |  cpu001 w  0% |               |  steal     0%  | guest     0%  |
cpu |  sys   1% |  user      1% |  irq       0%  | idle     99%  |  cpu003 w  0% |               |  steal     0%  | guest     0%  |
cpu |  sys   0% |  user      1% |  irq       0%  | idle     99%  |  cpu002 w  0% |               |  steal     0%  | guest     0%  |
CPL |  avg1    2.09 |  avg5    2.09 |  avg15   2.09  |               |  csw    54184 |  intr   33581 |                | numcpu     4  |
MEM |  tot     8.0G |  free   81.9M |  cache   2.9G  | dirty   0.8M  |  buff  174.7M |  slab  305.0M |                |               |
SWP |  tot     2.0G |  free    2.0G |                |               |               |               |  vmcom   8.4G  | vmlim   6.0G  |
LVM |  Group00-root |  busy     85% |  read       0  | write  30658  |  KiB/w      4 |  MBr/s   0.00 |  MBw/s  11.98  | avio 0.28 ms  |
DSK |          xvdb |  busy     85% |  read       0  | write  23706  |  KiB/w      5 |  MBr/s   0.00 |  MBw/s  11.97  | avio 0.36 ms  |
NET |  transport    |  tcpi    2705 |  tcpo    2008  | udpi      36  |  udpo      43 |  tcpao     14 |  tcppo     45  | tcprs      1  |
NET |  network      |  ipi     2788 |  ipo     2072  | ipfrw      0  |  deliv   2768 |               |  icmpi      7  | icmpo     20  |
NET |  eth0    ---- |  pcki    2344 |  pcko    1623  | si 1455 Kbps  |  so  781 Kbps |  erri       0 |  erro       0  | drpo       0  |
NET |  lo      ---- |  pcki     423 |  pcko     423  | si   88 Kbps  |  so   88 Kbps |  erri           0 |  erro       0  | drpo       0  |
NET |  eth1    ---- |  pcki  22 |  pcko      26  | si    3 Kbps  |  so    5 Kbps |  erri       0 |  erro       0  | drpo       0  |

  PID                   RDDSK                    WRDSK                   WCANCL                    DSK                   CMD        1/1
 9862                      0K                   53124K                       0K                    98%                   java
  358                      0K                     636K                       0K                     1%                   jbd2/dm-0-8
13893                      0K                     192K                      72K                     0%                   java
 1699                      0K                      60K                       0K                     0%                   syslogd
 4668                      0K                      24K                       0K                     0%                   zabbix_agentd

وهذا يدل بوضوح جافا PID 9862 هو المذنب.

وTL، DR

إذا يمكنك استخدام iotop، أن تفعل ذلك. آخر هذا قد يساعد.


استخدم top، ثم استخدام هذه الاختصارات:

d 1 = set refresh time from 3 to 1 second

1   = show stats for each cpu, not cumulated

وهذا له لإظهار القيم > 1.0 wa لنواة واحدة على الأقل - إذا لم تكن هناك diskwaits، وببساطة ليس هناك حمولة IO وهناك حاجة لإجراء المزيد من البحث. الأحمال الكبيرة عادة ما تبدأ > 15.0 wa.

x       = highlight current sort column 
< and > = change sort column
R       = reverse sort order

إختر 'S'، عمود الحالة العملية. عكس ترتيب بحيث يتم عرض (على التوالي) العمليات 'R' على القمة. إذا يمكنك بقعة العمليات 'D' (ينتظر القرص)، لديك مؤشرا لما يمكن أن يكون الجاني الخاص بك.

لKDE المستخدمين يمكنك استخدام "CTRL-ESC" ندعو أعلى حتى شاشة نظام actrivity وهناك أنشطة I / O الرسوم البيانية مع معرف العملية واسم.

وأنا لم يكن لديك أذونات لتحميل الصور، وذلك بسبب "حالة المستخدم الجديد 'ولكن يمكنك التحقق من الصورة أدناه. أنه يحتوي على عمود للIO القراءة والكتابة.

هل تعتبر lsof (قائمة الملفات المفتوحة)؟

وiotop مع العلم -a:

-a, --accumulated     show accumulated I/O instead of bandwidth
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top