iotop para o kernel Linux 2.6.18

1

Portanto, tenho que chegar ao meu conhecimento que o iotop não está disponível para o 2.6.18, já que é menor que 2.6.20 e requer o Python 2.6+. Eu fiz algumas pesquisas e me deparei com este artigo: link

De acordo com isto, se estes processos tiverem status io em / proc / pid # / io (onde pid # é o processo #) é possível independentemente da versão do kernel. Então, na realidade, eu poderia atualizar o Python para o 2.6 e testar o iotop. No entanto, o meu sabor do Linux, o CentOS release 5.5 (Final), suporta apenas o Python 2.4.3-44.el5 atualmente. Se eu fosse desinstalar do yum, não ficaria tão bonito. Ele acaba querendo desinstalar 235 pacotes, a maioria dos quais é muito importante!

Eu leio em um lugar, on-line (esqueci o URL de ontem), que você pode instalar o Python 2.6 + paralelo a este, e ter a instalação do rpm para o uso do iotop. Bem, eu não escolhi essa rota.

Eu imaginei, que diabos, vamos escrever iotop (não copiá-lo, mas fazer engenharia reversa sem realmente olhar para o código em uso) no bash. Eu pensei que seria apenas pegar o arquivo / proc / pid # / io e analisar estatísticas.

Então eu escrevi um script para pegar o top 10 rchar, wchar, read_bytes e write_bytes coletando todas essas estatísticas de todos os arquivos / proc / pid # / io, classificando-os por cada métrica, e então pegando o top 10 mais alto valores.

A conclusão, os dados parecem completamente inúteis.

Alguém conhece algum recurso para Linux avançado onde eu possa descobrir como pegar esses diretórios / proc / pid # / e descobrir o que diabos eles estão fazendo com o io no disco?

Meu objetivo principal é descobrir exatamente o que está causando alta carga no meu disco. Eu só sei que está na partição / (/ dev / sda2 neste caso), e não tenho certeza como reduzi-la sem a ajuda da iotop. Se eu rodar o iostat para pegar métricas por 1 minuto, a cada segundo, o primeiro resultado que ele me dá mostra um alto 'kB_read / s', então isso me faz pensar, ele está lendo principalmente. No entanto, se eu observar a atualização que ela me fornece a cada segundo, ela mostrará apenas valores para kB_wrtn / s. Isso me faz pensar que o valor inicial que o iostat me dá é enganoso.

    
por Lightsauce 03.08.2011 / 14:43

1 resposta

1

Talvez o pacote blktrace esteja disponível para o CentOS 5.5? O comando btrace fornece uma visão muito detalhada do subsistema de E / S.

    
por 03.08.2011 / 14:50