¿Cómo hago para rastrear el uso de IO en Linux y otros * nix OS '?

15

Ocasionalmente, algo en mi sistema comienza a martillar el disco. Me gustaría registrar datos que me permitieran saber sobre el uso de E / S por proceso, luego podría volver a él más tarde y ver qué sigue haciendo esto. ¿Cómo debo resolver este problema? Puntos de bonificación para resolver esto para dispositivos de bloques arbitrarios.

kbyrd
fuente

Respuestas:

12

Lo iotopprobaría (solo Linux). Es bastante bueno para darle los procesos con altas transferencias de E / S, pero iotopes más para mostrar el estado actual que para el registro.

Para iniciar sesión, sarsiempre es una buena herramienta para los aspectos de rendimiento.

txwikinger
fuente
1
Vale la pena señalar que iotop es solo Linux. (al menos estoy 99% seguro de que lo es)
xenoterracide
sar también está disponible en todas las versiones de Unix con las que he trabajado.
txwikinger
2
En los sistemas Ubuntu (esto podría aplicarse a todos los Linux), existe cierto debate sobre si el clima iotopfunciona correctamente. Ver bugs.launchpad.net/ubuntu/+source/linux/+bug/493156
Stefan Lasiewski
@Stefan: Por lo que leí, eso solo afectará a las distribuciones que han configurado su núcleo con CONFIG_TASK_DELAY_ACCT habilitado. ¿Hay algo más en el hilo que me perdí?
Steven D