![¿Por qué el DU provoca un uso elevado de la CPU?](https://rvso.com/image/623615/%C2%BFPor%20qu%C3%A9%20el%20DU%20provoca%20un%20uso%20elevado%20de%20la%20CPU%3F.png)
En CentOS 6.5, du -sk /home
se sh -c (du -sk \/home) 2>/dev/null
ejecuta debido a un uso programado del disco para /home, pero du
está provocando un uso del 100 % de la CPU. Además, antes de que termine, se ejecuta otro du y se acumula, haciendo que el sistema caiga de rodillas.
Desde entonces, desactivé las comprobaciones automáticas, pero tampoco puedo ejecutarlas du -sk /home
manualmente. du
funciona bien (rápido) en otros directorios (aunque /home es el más grande - 4912620 - no debería tardar tanto)
Me gustaría saber por qué DU provoca un alto uso de CPU en /home
ACTUALIZACIÓN 1: Un reinicio completo (host+invitado) resolvió el problema.
ACTUALIZACIÓN 2: El problema volvió. Mientras du se está ejecutando, el uso de la CPU se divide casi a la mitad entre (us) y (sy). (wa) nunca supera el 1%. Además, IOWAIT muestrasolo el disco escribe?
Respuesta1
No puedo decirte por qué exactamente, pero esto es lo que haría para delimitar lo que está sucediendo:
cd /home
for i in * ; do echo "Starting in ${i}..." ; du -s ${i} ; done
Esto ejecutará "du -s" para cada comando dentro del /home
directorio y le mostrará lo que está a punto de hacer. Esto también supone que estás usando sh o bash como tu shell.
Cuando encuentre qué directorio está causando el problema, vaya a un directorio más y vea qué sucede allí. Recuerde también que esto no buscará directorios ocultos ("puntos") en el nivel desde el que inicia el bucle for. Es posible que también deba verificarlos o modificar la expresión global para incluirlos.
Respuesta2
Finalmente descubrí cuál era el problema cuando me encontréesta publicación.
root> modprobe vhost_net root> echo vhost_net > /etc/modules
Por alguna razón, las interfaces virtio no cargaban el controlador antes. Todo está bien ahora.