Eu quero verificar qual processo está levando a E/S mais alta. Para ser exato, quero verificar qual processo está fazendo a operação de gravação mais alta e quanto.
Eu sei que existem algumas ferramentas como iotop
. Mas como tenho que trabalhar sem sudo e em um ambiente estrangeiro com privilégios muito limitados, quero saber como posso conseguir isso com ferramentas integradas como ps
. Eu quero algo como o seguinte que eu uso para encontrar o uso de CPU/memória,
$ps -eo pid,command,%cpu,%mem --sort=-%cpu
Atualização : Depois de tentar várias maneiras, descobri que não consigo ler /proc/[pid]/io
o arquivo devido à falta de privilégio, então não há como obter E/S sem o privilégio adequado, eu acho.
$cd /proc/; for i in $(ls | egrep -o ^\[0-9\]*); do cat $i/io; done
cat: 1/io: Permission denied
cat: 10/io: Permission denied
cat: 10284/io: Permission denied
cat: 11/io: Permission denied
cat: 1174/io: Permission denied
cat: 12/io: Permission denied
........
O problema é que você não tem acesso a essas informações como usuário comum dos processos de outros usuários.