Que processo kjournald pertence a qual sistema de arquivos?

5

Eu entendo que cada sistema de arquivos ext3 montado terá um processo kjournald correspondente em execução. Um desses processos é usar muita CPU e gostaria de saber qual sistema de arquivos é responsável.

Eu tenho três ext3 filesystems montados, mas os processos aparecem apenas como

root       325     2  0 Sep23 ?        00:30:12 [kjournald]
root      7433     2  0 Sep23 ?        00:00:00 [kjournald]
root      7434     2  0 Sep23 ?        00:09:47 [kjournald]

Como posso determinar qual processo está associado a qual sistema de arquivos?

    
por Flup 04.12.2014 / 13:45

1 resposta

1

Uma maneira indireta de fazer isso é usar blktrace e seu comando de conveniência btrace . blktrace registra e exibe o acesso em nível de bloco aos discos quando isso acontece. btrace significa que você não precisa se lembrar de todas as opções para blktrace .

# btrace /dev/sda1 | grep kjournald
  8,1    5        1     0.000201850   325  Q  WS 451573976 + 8 [kjournald]
  8,1    5        2     0.000393849   325  Q  WS 976637584 + 8 [kjournald]
  8,1    5        3     0.000398641   325  Q  WS 976637592 + 8 [kjournald]
  8,1    5        4     0.000401003   325  Q  WS 976637600 + 8 [kjournald]
  8,1    5        5     0.000404179   325  Q  WS 976637608 + 8 [kjournald]
  8,1    5        6     0.000407446   325  Q  WS 976637616 + 8 [kjournald]
                                      ^^^
                                      pid of kjournald for /dev/sda1

Os campos exibidos aqui estão documentados no blkparse manpage; o quinto campo é o PID do processo que faz o I / O. Portanto, embora eu não tenha uma maneira de relacionar diretamente o kjournald s aos sistemas de arquivos, posso ver qual processo está associado a um dispositivo de bloco específico e, em seguida, examinar a tabela de montagem para ver qual sistema de arquivos está implicado.

    
por 04.12.2014 / 15:12