Раньше я пробовал htop. Кажется, это отслеживает использование ввода-вывода на основе процесса.
По-видимому, на Github есть много других опций, таких как «взгляды» и «поверх».
Альтернатива iotop для не -пользователя root без привилегий sudo
Это заставляет меня задаться вопросом, является ли ваша конкретная ситуация чем-то уникальным и может ли потребоваться некоторая настройка. (Некоторые люди заходят так далеко, что выступают за синтаксический анализ необработанной статистики, поступающей от proc ). Существует множество вариантов, включая 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-i-o-utilisation-per-process
Согласно руководству bash, нет глобального файла для bash, если он не запущен в качестве оболочки входа, только /etc/profile
для оболочек входа и /etc/inputrc
для readline.
Если вы скопировали корневой .bashrc
, вы должны убедиться, что у целевого пользователя есть разрешение на чтение файла.