¿Alguna utilidad para encontrar la fuente de carga del sistema / promedio de carga durante un cierto período?

12

Al ejecutar top, htop, uptime, etc., podemos ver el promedio de carga como tres valores que indican la carga promedio de los últimos 1/5/15 minutos ( bueno, no realmente , pero esa no es la pregunta aquí).

A veces noto que tengo un promedio de carga bastante alto durante los últimos 15 minutos, pero la carga actual es muy baja. ¿Existe una utilidad / programa que pueda enumerar los procesos (incluso si ya no existen) que consumieron la mayor cantidad de tiempo de CPU durante los últimos 1/5/15 minutos (o algún otro período similar)?

Soy consciente de que el promedio de carga también puede ser causado por procesos que esperan E / S, pero estoy principalmente interesado en ver la mayoría de las aplicaciones que requieren mucha CPU (aunque también sería bueno poder ver E / S históricas).

Hasta donde sé, ejecutar htop y ordenar por tiempo no puede ayudarme aquí, ya que si la computadora ha estado encendida por un tiempo, los valores superiores no necesariamente tendrán nada que ver con el pasado reciente.

Quantumboredom
fuente
¿Qué sistema operativo estás ejecutando?
Karlson
Tiendo a probar diferentes distribuciones de GNU / Linux, pero sobre todo uso openSUSE.
Quantumboredom

Respuestas:

11

Sugiero usar atop. Es un demonio que reúne toda la información 'superior' cada 10 minutos de forma predeterminada y puede retroceder en el tiempo viendo estas instantáneas 'principales'. Ajuste la configuración de intervalo predeterminada a sus necesidades (consume más espacio en disco si se configura con más frecuencia).

Ayer mismo, respondí una pregunta similar , en la que incluí un tutorial muy breve.

gertvdijk
fuente
encima parece absolutamente perfecto, muchas gracias!
Quantumboredom
así que no mostrará, digamos, el valor de carga causado por pids específicos, pero lo mostrará de una manera que podamos adivinar de alguna manera, como si el orden de uso de la CPU fuera la aplicación más problemática, ¿verdad? Me pregunto cómo la atopinformación puede ayudar a adivinar cómo se componen (resumen) los valores de carga. en otras palabras, ¿qué hace ese algoritmo (de htop) para componer el promedio de carga y por qué no se muestra por proceso? (Creo que esto puede merecer un nuevo hilo?)
Aquarius Power
@AquariusPower Eso de hecho merece una nueva pregunta. Los promedios de carga en las máquinas se calculan en función de muchos factores, que no son realmente relevantes para esta pregunta.
gertvdijk
7

A juzgar por la indicación de htop, supongo que estás ejecutando Linux.

Puede echar un vistazo a una utilidad llamada sar , que se usa con frecuencia en Solaris, pero rara vez la he visto en Linux. Es capaz de registrar la actividad del sistema durante un día y luego informarlo a varios intervalos. También puede mirar Orca, pero las estadísticas de datos todavía son por sistema.

Si necesita datos por proceso, obviamente hay productos pagados como TeamQuest .

Karlson
fuente
4

A menos que configure una herramienta de recopilación de datos, la respuesta es no, no existe dicha utilidad incorporada, que registrará la utilización de diferentes recursos.

Por otro lado, cada instalación de Linux viene con la utilidad sar, que aborda el tema del que está hablando. No voy a entrar en detalles sobre cómo recopilar datos y cómo extraer estos datos para la presentación de informes, ya que las necesidades de cada servidor y cada organización son diferentes.

Inicie sesión en su servidor y comience a leer la página de sarcomando man . Luego haga una búsqueda en Google sobre cómo usar sar de manera efectiva. Y en poco tiempo podrá configurar su utilidad de recopilación de datos. Cuando encuentre un problema, simplemente vuelva a buscar en los registros sar durante el período de tiempo especificado y encuentre qué recurso se utilizó más de lo habitual, etc.

Es una herramienta invaluable para convencer a la gerencia de que invierta algo de dinero para comprar / actualizar hardware, si está continuamente registrando una utilización del 75% o más y no hay otra forma de demostrárselo. Incluso hay macros de Excel para hacer informes gráficos (leer como Management-speak) a partir de datos sar sin procesar si no me equivoco.

MelBurslan
fuente