Por que o DU está causando alto uso da CPU?

Por que o DU está causando alto uso da CPU?

No CentOS 6.5, du -sk /homee sh -c (du -sk \/home) 2>/dev/nullexecutado devido a um uso de disco agendado para /home, mas duestá causando 100% de uso da CPU. Além disso, antes mesmo de terminar, outro du é executado e se acumula, deixando o sistema de joelhos.

Desde então, desabilitei as verificações automatizadas, mas du -sk /hometambém não consigo executar manualmente. dufunciona bem (rápido) em outros diretórios (embora /home seja o maior - 4912620 - não deve demorar tanto)

Gostaria de descobrir por que o DU está causando alto uso da CPU em/home


ATUALIZAÇÃO 1: Uma reinicialização completa (host + convidado) resolveu o problema.

ATUALIZAÇÃO 2: O problema voltou. Enquanto du está em execução, o uso da CPU é dividido quase meio a meio entre (us) e (sy). (wa) nunca ultrapassa 1%. Além disso, IOWAIT mostraapenas gravações em disco?

Responder1

Não posso dizer exatamente por que, mas aqui está o que eu faria para restringir o que está acontecendo:

cd /home
for i in * ; do echo "Starting in ${i}..." ; du -s ${i} ; done

Isso executará "du -s" para cada comando dentro do /homediretório e mostrará o que ele está prestes a fazer. Isso também pressupõe que você esteja usando sh ou bash como shell.

Ao descobrir qual diretório está causando o problema, mova mais um diretório e veja o que acontece lá. Lembre-se também de que isso não verificará diretórios ocultos ("ponto") no nível em que você inicia o loop for. Talvez seja necessário verificá-los também ou modificar a expressão glob para incluí-los.

Responder2

Eu finalmente descobri qual era o problema quando me depareiesta postagem.

root> modprobe vhost_net root> echo vhost_net > /etc/modules

Por algum motivo, as interfaces virtio não carregavam o driver antes. Tudo está bem agora.

informação relacionada