O problema é que você não tem acesso a essas informações como usuário comum para os processos de outros usuários.
Quero verificar qual processo leva a maior E / S. Para ser exato, quero verificar qual processo está executando a operação de gravação mais alta e quanto.
Eu sei que existem algumas ferramentas como iotop
. Mas como eu tenho que trabalhar sem um sudo e um ambiente externo com privilégios muito limitados, eu quero saber como posso conseguir isso com ferramentas internas como ps
. Eu quero algo como o seguinte que eu uso para encontrar o uso da 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 o arquivo /proc/[pid]/io
devido à falta de privillage, 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
........
Abaixo do processo principal de consumo de recursos da lista de comandos
ps axo %cpu,%mem,command,pid | sort -nr | head
Abaixo, o comando mostra as estatísticas da taxa de disco.
iostat
Para taxas de disco específicas, use o comando abaixo
iostat -d diskname
Abaixo estão as ferramentas de imp usadas para monitorar as taxas de disco
1. Iostat
2. Iozone
3. SAR
4. vmstat
Tags process monitoring io