pid /プロセスごとのディスクI/Oを確認する方法はありますか? Monitorixは次のように表示し、間違っている場合は修正しますが、ハードドライブがシステム全体の速度を低下させているようです:
Atopは、何よりも優れた概要を示しているようです。
この写真をよく見るのは難しいですが、:
上の男を見てください:
あなたがついに別のことを求めているのだろうか、CPUセクションにあなたは:
Every line contains the percentage of cpu time spent in kernel mode by all
active processes (`sys'), the percentage of cpu time consumed in user mode
(`user') for all active processes (including processes running with a Nice
value larger than zero), the percentage of cpu time spent for interrupt
handling (`irq') including softirq, the percentage of unused cpu time while
no processes were waiting for disk-I/O (`idle'), and the percentage of unused
cpu time while at least one process was waiting for disk-I/O (`wait').
In case of per-cpu occupation, the last column shows the cpu number and the
wait percentage (`w') for that cpu. The number of lines showing the per-cpu
occupation can be limited.
とにかく、ディスク固有の統計を読むことができます。
d Show disk-related output.
When "storage accounting" is active in the kernel, the
following fields are shown: process-id, amount of data read
from disk, amount of data written to disk, amount of data that
was written but has been withdrawn again (WCANCL), disk
occupation percentage and process name.
これらのオプションと同様に。
D Sort the current list in the order of disk accesses issued.
The one-but-last column changes to ``DSK''.
...
RDDSK When the kernel maintains standard io statistics (>= 2.6.20):
The read data transfer issued physically on disk (so reading from
the disk cache is not accounted for).
...
WRDSK When the kernel maintains standard io statistics (>= 2.6.20):
The write data transfer issued physically on disk (so writing to
the disk cache is not accounted for). This counter is maintained
for the application process that writes its data to the cache
(assuming that this data is physically transferred to disk later
on). Notice that disk I/O needed for swapping is not taken into
account.
....
LVM/MDD/DSK
Logical volume/multiple device/disk utilization.
Per active unit one line is produced, sorted on unit activity.
Such line shows the name (e.g. VolGroup00-lvtmp for a logical
volume or sda for a hard disk), the busy percentage i.e. the
portion of time that the unit was busy handling requests
(`busy'), the number of read requests issued (`read'), the
number of write requests issued (`write'), the number of KiBytes
per read (`KiB/r'), the number of KiBytes per write
(`KiB/w'), the number of MiBytes per second throughput for reads
(`MBr/s'), the number of MiBytes per second throughput for
writes (`MBw/s'), the average queue depth (`avq') and the average
number of milliseconds needed by a request (`avio') for seek,
latency and data transfer.
If the screen-width does not allow all of these counters, only a
relevant subset is shown.
The number of lines showing the units can be limited per class
(LVM, MDD or DSK) with the 'l' key or statically (see separate
man-page of atoprc). By specifying the value 0 for a
particular class, no lines will be shown any more for that class.
たくさんのツールがあると思います。それらの1つはpidstat
です。
pidstat -d 5
5秒ごとのプロセスのI/Oを表示します。
$ pidstat -d 5
Linux 3.12.11-201.fc19.x86_64 (greeneggs.bubba.net) 03/04/2014 _x86_64_ (4 CPU)
06:19:05 PM UID PID kB_rd/s kB_wr/s kB_ccwr/s Command
06:19:10 PM 1000 29486 0.00 317.93 0.00 chrome
06:19:10 PM UID PID kB_rd/s kB_wr/s kB_ccwr/s Command
06:19:15 PM 1000 29486 0.00 368.00 0.00 chrome
06:19:15 PM UID PID kB_rd/s kB_wr/s kB_ccwr/s Command
06:19:20 PM 1000 29486 0.00 591.62 836.73 chrome
06:19:20 PM UID PID kB_rd/s kB_wr/s kB_ccwr/s Command
06:19:25 PM 1000 2410 0.00 0.80 0.00 mono
06:19:25 PM 1000 29486 0.00 262.40 0.00 chrome
^C
Average: UID PID kB_rd/s kB_wr/s kB_ccwr/s Command
Average: 1000 2410 0.00 0.20 0.00 mono
Average: 1000 29486 0.00 385.02 209.29 chrome
あなたが見るところから Ctrl+C (別名。^C
)は、上記の実行期間中の合計です。
このU&L Q&Aのタイトルを見てください: Amazon EC2マイクロインスタンス多数IOリクエスト 、ここでfatrace
というツールの詳細を提供します。また、このQ&Aのタイトル: 高I/Oの原因となる特定のファイルの決定 でも取り上げます。
これはLinuxカーネルへの新しい追加であり、歓迎されているため、Ubuntu12.10などの新しいディストリビューションでのみ使用できます。私のFedora14システムにはそれが欠けていました8-)。
特定のディレクトリやファイルをターゲットにすることなく、inotifyを介して取得できるのと同じアクセスを提供します。
$ Sudo fatrace
pickup(4910): O /var/spool/postfix/maildrop
pickup(4910): C /var/spool/postfix/maildrop
sshd(4927): CO /etc/group
sshd(4927): CO /etc/passwd
sshd(4927): RCO /var/log/lastlog
sshd(4927): CWO /var/log/wtmp
sshd(4927): CWO /var/log/lastlog
sshd(6808): RO /bin/dash
sshd(6808): RO /lib/x86_64-linux-gnu/ld-2.15.so
sh(6808): R /lib/x86_64-linux-gnu/ld-2.15.so
sh(6808): O /etc/ld.so.cache
sh(6808): O /lib/x86_64-linux-gnu/libc-2.15.so
上記は、ファイルアクセスを実行しているプロセスIDと、アクセスしているファイルを示していますが、全体的な帯域幅の使用量は示されていないため、各アクセスは他のアクセスと区別できません。
注:fatrace
は-p PID
引数を取ることができるため、必要に応じて単一のPIDを監視するように指示できます。