스토리지에서 높은 쓰기 I/O를 유발하는 프로세스를 찾는 방법

스토리지에서 높은 쓰기 I/O를 유발하는 프로세스를 찾는 방법

이제 DBS 중 하나에서 매일 특정 시간에 스토리지에 높은 쓰기 I/O가 표시됩니다. 높은 쓰기 I/O를 수행하는 프로세스를 찾을 수 있습니까? 이러한 요청의 출처를 추적하는 모든 운영 체제 관련 명령. iostat 및 top 제외

답변1

나는 과거에 htop을 시도했습니다. 이는 프로세스를 기반으로 IO 사용량을 추적하는 것 같습니다.

분명히 Github에는 "glances" 및 "atop"과 같은 다른 옵션이 많이 있습니다.

sudo 권한이 없는 루트가 아닌 사용자를 위한 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-or-sar

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

관련 정보