Algunas veces mis servidores mostrarán un promedio de carga alto en el programa "superior" (por ejemplo, la carga es de ~ 10 en una máquina de 4 núcleos), pero el uso real de la CPU no es particularmente alto.
Supongo que el problema es que hay muchos trabajos intensivos de E / S en ejecución. ¿Hay alguna manera fácil de identificar estos trabajos que están causando la carga, si sus valores "% CPU" en la parte superior no son tan altos?
top
comando?Respuestas:
iostat
puede reportar estadísticas como esa. Normalmente se incluye en su distribución en el paquete sysstat.También vale la pena echar un vistazo a dstat , es un reemplazo moderno.
fuente
iostat
iba a ser mi respuesta.Si tiene contabilidad IO en su kernel, puede usarla
iotop
para dar información como esa. Además, las herramientas de monitoreo como collectd pueden registrar e informar sobre los datos.fuente
Para averiguar qué está causando una carga alta, puede verificar algunas cosas.
vmstat -w
le mostrará ovierwiem (procesos, intercambio, mem, cpu, io, sistema)pmstat -P ALL
le proporcionará estadísticas (con% iowait) por núcleo de CPUiostat -x
busque un alto porcentaje de utilidad o espera larga o un gran tamaño de cola promedioiotop
ps -ax
busque el estado D, que es suspensión ininterrumpida (generalmente IO), ejecútelo una vez más y verifique si todavía están en estado Dsar -b
- actividades generales de iosar -d
- actividades individuales del dispositivo de bloqueo iofuente