E / S de disco por processo

1

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
 ........
    
por muhammad 09.01.2018 / 21:08

2 respostas

1

O problema é que você não tem acesso a essas informações como usuário comum para os processos de outros usuários.

    
por 09.01.2018 / 21:25
1

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
    
por 10.01.2018 / 07:53