top -m io -o total
Работает суперски, сейчас попробовал загрузить диск dd шкой, так она сразу взлетела в верх списка :)
top -m io -o total
apt-get install iotop -y
nohup iotop --batch --delay 2 --only > /root/iotop_6may.log &
Total DISK READ: 202.58 K/s | Total DISK WRITE: 35.40 K/s
PID USER DISK READ DISK WRITE SWAPIN IO COMMAND
2124 www-data 165.21 K/s 3.93 K/s 0.00 % 8.95 % nginx: worker process
2125 www-data 31.47 K/s 1.97 K/s 0.00 % 0.82 % nginx: worker process
25740 postfix 0 B/s 7.87 K/s 0.00 % 0.09 % tlsmgr -l -t unix -u -c
24583 root 0 B/s 3.93 K/s 0.00 % 0.00 % rsyslogd -c3
6827 www-data 0 B/s 1.97 K/s 0.00 % 0.00 % apache2 -k start
cat /root/iotop_6may.log | grep -v 'Total' | grep -v 'PID'
cat /root/iotop_6may.log | grep -v 'Total' | grep -v 'PID' | perl -MData::Dumper -e 'my$hs={}; for(<>){ chomp;s/^\s+//g; my@a=split"\\s+",$_; /%\s+([^%]*)$/; $hs->{$1}->{read}+=$a[2];$hs->{$1}->{write}+=$a[4];$hs->{$1}->{swap}+=$a[6]; $hs->{$1}->{io}+=$a[8]; } print "$_\nread: $hs->{$_}->{read} write: $hs->{$_}->{write} swap: $hs->{$_}->{swap} io: $hs->{$_}->{io}\n\n" for reverse sort { my$type="write";$hs->{$a}->{$type} <=> $hs->{$b}->{$type} } keys %$hs;'
cat /root/iotop_6may.log | grep -v 'Total' | grep -v 'PID' | perl -MData::Dumper -e 'my$hs={}; for(<>){ chomp;s/^\s+//g; my@a=split"\\s+",$_; /\d+\s+(.*?) /; $hs->{$1}->{read}+=$a[2];$hs->{$1}->{write}+=$a[4];$hs->{$1}->{swap}+=$a[6]; $hs->{$1}->{io}+=$a[8]; } print "$_\nread: $hs->{$_}->{read} write: $hs->{$_}->{write} swap: $hs->{$_}->{swap} io: $hs->{$_}->{io}\n\n" for reverse sort { my$type="write";$hs->{$a}->{$type} <=> $hs->{$b}->{$type} } keys %$hs;'
yum install -y python-ctypes
zcat /proc/config.gz | egrep 'TASK_IO_ACCOUNTING|TASK_DELAY_ACCT'
CONFIG_TASK_DELAY_ACCT=y
CONFIG_TASK_IO_ACCOUNTING=y
cat /boot/config-`uname -r` | egrep 'TASK_IO_ACCOUNTING|TASK_DELAY_ACCT'
CONFIG_TASK_DELAY_ACCT=y
CONFIG_TASK_IO_ACCOUNTING=y
cd /usr/src
wget http://guichaz.free.fr/iotop/files/iotop-0.4.tar.bz2
tar -xf iotop-0.4.tar.bz2
cd iotop-0.4
./iotop.py
cd /opt/
wget http://aspersa.googlecode.com/svn/trunk/iodump
/etc/init.d/syslog stop
echo 1 > /proc/sys/vm/block_dump
while true; do sleep 1; dmesg -c; done | perl iodump
echo 0 > /proc/sys/vm/block_dump
root@libvirt ~ # dd if=/dev/md0 of=/dev/null &
[1] 16974
root@libvirt ~ # dstat --top-bio
----most-expensive----
block i/o process
dd 57M 0
dd 58M 0
dd 58M 0
dd 58M
root@libvirt ~ # dd if=/dev/md0 of=/dev/null &
[1] 16978
root@libvirt ~ # dstat --top-io
----most-expensive----
i/o process
dd 56M 56M
dd 60M 60M
dd 54M 54M
dd 60M 60M
wget -O/tmp/rpm-forge.rpm http://packages.sw.be/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.x86_64.rpm && rpm -ihv /tmp/rpm-forge.rpm
yum -y install dstat
rchar - bytes read
wchar - byres written
syscr - number of read syscalls
syscw - number of write syscalls
read_bytes - number of bytes caused by this process to read
from underlying storage
write_bytes - number of bytes caused by this process to written from
underlying storage
dstat --top-bio
dstat --top-io
dstat --list
internal:
aio, cpu, cpu24, disk, disk24, disk24old, epoch, fs, int, int24, io, ipc, load, lock, mem, net, page, page24, proc, raw,
socket, swap, swapold, sys, tcp, time, udp, unix, vm
/usr/share/dstat:
battery, battery-remain, cpufreq, dbus, disk-util, fan, freespace, gpfs, gpfs-ops, helloworld, innodb-buffer, innodb-io,
innodb-ops, lustre, memcache-hits, mysql-io, mysql-keys, mysql5-cmds, mysql5-conn, mysql5-io, mysql5-keys, net-packets,
nfs3, nfs3-ops, nfsd3, nfsd3-ops, ntp, postfix, power, proc-count, rpc, rpcd, sendmail, snooze, thermal, top-bio, top-cpu,
top-cputime, top-cputime-avg, top-io, top-latency, top-latency-avg, top-mem, top-oom, utmp, vm-memctl, vmk-hba, vmk-int,
vmk-nic, vz-cpu, vz-io, vz-ubc, wifi
/usr/share/dstat