Si la parte superior muestra altas cargas y no sabe si el proceso que lo está causando está haciendo tiempo de procesador o está haciendo E / S de red (no E / S local) ¿cómo puede averiguarlo?
En nuestro servidor veo valores altos para la carga, pero en combinación con 60% -70% de inactividad y alrededor del 25% de usuario. Me gustaría saber cómo interpretar esos valores, pero en Internet casi siempre leo que puedes usar iostat para ver si el proceso está destruyendo tus discos. Pero ya sé con certeza que ese no es el caso. El proceso en cuestión tampoco tiene problemas para hacer su trabajo, pero aún así la carga es alta.
Entonces, ¿hay alguna manera de saber más qué parte es causada por la espera de la red y qué parte es causada por el tiempo real del procesador? ¿Y cuál es el significado de 'inactivo' en la parte superior?
Para mayor claridad: con carga me refiero a los 3 números que significan los procesos en cola promedio por núcleo. Hay 8 núcleos en esta máquina y los números llegan a 25, por lo que es una carga de 2.5 por núcleo.
fuente
uptime
salida)?htop
para ver los procesos. En particular, puede permitirle seleccionar un proceso y luego usar ell
comando, le mostrará todos los archivos abiertos usando dispositivoslsof
incluidosIPv4
y deIPv6
transmisión y demás . Si lo hastrace
instalado en su caja, también puede realizar la depuración de llamadas y señales del sistema. No es exactamente una respuesta, sino otra herramienta que consideraría para lo que está tratando de investigar.Respuestas:
La E / S de red no se tiene en cuenta en la métrica iowait de Linux, a menos que sea parte de una transacción NFS, en cuyo caso se considera como E / S de disco.
Fuera de una hipotética espera NFS, la red no toma parte de la carga promedio.
Eso significa el porcentaje de tiempo que la CPU no está en otro de los estados enumerados (usuario, sistema, nice, iowait, interrupciones de hardware, interrupciones de software, robados). Esto incluye esperas de red. Cuando está inactivo, la CPU no hace esencialmente nada. Tenga en cuenta que iowait también está inactivo ya que una CPU tampoco hace nada.
fuente