Como punto de aclaración, la carga no está directamente vinculada a la CPU. Este es uno de los conceptos erróneos más comunes sobre la carga. El hecho de que mencione el disco parece reconocer que está al tanto de esto, pero solo quería mencionarlo ya que veo comentarios que indican que algunos creen lo contrario.
La carga se define como el número de procesos que esperan recursos del sistema. Esto es comúnmente CPU, disco o red, pero puede ser cualquier cosa realmente hardware.
Un "proceso" tampoco es necesariamente un proceso completo. Un subproceso se define como un "proceso ligero", y cada subproceso que está esperando aumenta el recuento de carga.
Para averiguar qué procesos son un problema:
Ejecutar top -H
( -H
habilita mostrar hilos)
Los atajos de teclado varían según la versión.
Con la parte superior más nueva (3.3 y posteriores):
Presione fpara mostrar las opciones de campo.
Use las teclas de flecha para ir S = Process Status
y presione s.
Presione qpara volver a la página principal.
Presione Shift+ Rpara invertir la clasificación.
Con la parte superior más antigua (antes de 3.3):
Presione Shift+ opara que aparezcan las opciones de clasificación.
Luego wordenar por estado del proceso.
Luego Enterpara volver a la página principal.
Luego Shift+ Rpara revertir la clasificación.
Luego, en la S
columna, busque los procesos que tienen D
o R
(ahora deberían estar en la parte superior). Estos serán procesos que contribuyen a la carga del sistema.
Si el proceso muestra un D
, eso significa "suspensión ininterrumpida". Por lo general, esto se produce cuando el proceso está esperando E / S (disco, red, etc.).
Si el proceso muestra un R
, eso significa que solo está haciendo un cálculo normal.
Para obtener más información sobre lo que están haciendo esos procesos:
Con la parte superior más nueva (3.3 y posteriores):
Presione fpara mostrar las opciones de campo.
Use las teclas de flecha para ir WCHAN = Sleeping in Function
y presione dpara habilitarlo.
Luego qpara volver a la página principal.
Con la parte superior más antigua (antes de 3.3):
Presione fluego ypara habilitar el WCHAN
campo.
Si su sistema tiene las opciones de kernel necesarias, y el archivo wchan está presente en su sistema (no recuerdo dónde está y cómo se llama) , el WCHAN
campo debería mostrarle qué función de kernel está ejecutando el proceso actualmente (si el campo solo muestra un -
o un ?
sobre todo, no tienes soporte).
Un poco de google aquí y deberías estar en camino.
Si no tiene soporte de wchan, siempre puede probar uno strace
de los procesos para averiguar qué están haciendo, pero esa es la forma difícil.