Tente ver " iotop ". Ele lhe dará exatamente o que você precisa, um uso de IO por processo, superior como, display. Vem com a maioria das distribuições de linux modernas
Eu tenho uma máquina que executa poucos serviços, mas eu não acredito que eles sejam responsáveis pelo acesso pesado às vezes ao disco neste servidor (movimentação massiva da cabeça que eu ouço, após longos períodos quase sem movimento)
Como posso descobrir qual processo está fazendo algo no disco rígido quando houver esse período novamente?
Eu estava pensando em usar o comando linux "lsof", mas ele tem overwhealming de saída e opções, então não consigo ver nada.
Você pode me guiar como eu poderia
Seria ótimo se você pudesse demonstrar algumas opções úteis de lsof para esse caso. Obrigado.
Editar Obrigado por todas as respostas. Isso é muito mais do que eu esperava e fiz todas as respostas (até hoje)
Tente ver " iotop ". Ele lhe dará exatamente o que você precisa, um uso de IO por processo, superior como, display. Vem com a maioria das distribuições de linux modernas
Muitas vezes, quando você tem um sistema em que os serviços / aplicativos não estão realizando muita E / S de disco, mas você percebe muita atividade no disco rígido, você encontrará o sistema trocando muito.
Este artigo tem uma boa explicação de como isso funciona:
Também concordo com as sugestões dos utilitários top
type. No entanto, talvez você consiga encontrar a origem do problema mais rapidamente se observar seus trabalhos agendados. Verifique o conteúdo de /etc/cron.*
e veja se existem tarefas agendadas que executam processos que causariam muita E / S de disco. Pode ser algo tão simples quanto updatedb
atualizando o banco de dados de localização.
Se os servidores permitirem o login do usuário, você também deve verificar os crontabs do usuário. Eles são normalmente encontrados em /var/spool/cron/tabs
.
I have a machine that runs few services, but I don't believe they are responsible for sometimes heavy disk access on this server
Isso acontece uma vez por dia? Se sim, provavelmente este é o sistema que verifica os repositórios para atualizações, ou instala automaticamente os patches de segurança se ele estiver configurado dessa maneira.
Você pode alterar o intervalo entre verificações e configurar atualizações automáticas no Synaptic
A menos que você queira detalhes sobre quais arquivos estão sendo acessados, acredito que você também possa obter essas informações usando top
. Eu uso o htop
( top
wrapper) para monitorar o uso de E / S, tendo a saída classificada por diferentes campos de E / S.
Ele fornece as seguintes colunas para analisar: RCHAR, WCHAR, SYSCR, SYSCW, IO_READ_RATE, IO_WRITE_RATE, IO_RATE
.
Dê uma olhada em man top
se isso for o que você precisa.
Assista top
por um tempo. Os programas vinculados a ES geralmente ficam presos no estado D. Portanto, classifique sua saída de topo por cpu e observe qual processo será direcionado ao topo com longos períodos no estado D.
mencionadas são ótimas para monitoramento em tempo real - uma boa pergunta para um novo post: o que é algo que pode ser usado historicamente - caso de uso:
minha caixa mostrou o pico de IO às 1:00
como você sabe de onde veio? :)