ストレージで高書き込みI / Oを引き起こすプロセスを見つける方法

ストレージで高書き込みI / Oを引き起こすプロセスを見つける方法

これで、DBSのいずれかで毎日特定の時間にストレージに高い書き込みI / Oが表示されます。高い書き込みI / Oを実行するプロセスを見つけることができますか?これらの要求のソースを追跡するすべてのオペレーティングシステム固有のコマンド。 iostatとtopを除く

答え1

私は過去にhtopを試しました。これは、プロセスに基づいてIO使用量を追跡するようです。

明らかに、Githubには「glances」や「atop」などの他のオプションがたくさんあります。

sudo 権限のない root 以外のユーザーの iotop 代替

これにより、特定の状況がややユニークであり、いくつかのカスタマイズが必要になる可能性があるかどうか疑問に思います。一部の人々はプロセスで生の統計を解析することを擁護する人もいます。 iodump(Perlで書かれています)を含む多くのオプションがあります。

root@kanga:~# while true; do sleep 1; dmesg -c; done | perl iodump
^C# Caught SIGINT.
TASK                   PID      TOTAL       READ      WRITE      DIRTY DEVICES
firefox               4450       4538        251       4287          0 sda4, sda3
kjournald             2100        551          0        551          0 sda4
firefox              28452        185        185          0          0 sda4
kjournald              782         59          0         59          0 sda3
pdflush                 31         30          0         30          0 sda4, sda3
syslogd               2485          2          0          2          0 sda3
firefox              28414          2          2          0          0 sda4, sda3
firefox              28413          1          1          0          0 sda4
firefox              28410          1          1          0          0 sda4
firefox              28307          1          1          0          0 sda4
firefox              28451          1          1          0          0 sda4

https://www.xaprb.com/blog/2009/08/23/how-to-find-per-process-io-statistics-on-linux/

#!/bin/bash

hostname=`hostname -s`    
carbon_host=YOUR_CARBON_HOSTNAME_OR_IP
carbon_port=2003

pidstat -h -d 1 | grep --line-buffered -v '^$' | grep --line-buffered -v '^#' | grep --line-buffered -v '^Linux' | awk --assign=hostname=${hostname} '{ printf "servers.%s.pidstat.%s.read %s %s\nservers.%s.pidstat.%s.write %s %s\n", hostname, $6, $3, $1, hostname, $6, $4, $1 ; fflush(); }' > /dev/tcp/${carbon_host}/${carbon_port}

https://serverfault.com/questions/574708/report-per-process-io-stats-with-pidstat-o​​r-sar

https://serverfault.com/questions/169676/howto-check-disk-io-utilization-per-process

関連情報