Tengo una E / S de CPU que espera alrededor del 50%, pero cuando la ejecuto iostat 1
muestra poca o ninguna actividad de disco.
¿Qué causa esperar sin iops?
NOTA: No hay sistemas de archivos NFS o FUSE aquí, pero está utilizando la virtualización Xen.
iotop
Te muestra algo?Respuestas:
NFS puede hacer esto, y no me sorprendería si otros sistemas de archivos de red (e incluso dispositivos basados en FUSE) tuvieran efectos similares.
fuente
¿Hay alguna posibilidad de que otras máquinas virtuales en el servidor estén agitando el disco?
Sé con la virtualización que puede obtener algunos resultados extraños si el nodo host está sobrecargado.
fuente
Si este es el entorno de Amazon EC2 Xen que utiliza almacenamiento basado en instancias, solicite a Amazon que verifique el estado del host que contiene esta imagen.
Si este es un entorno Xen en el que puede obtener acceso al hipervisor, compruebe IOwait desde afuera para ver la imagen del disco (archivo, red, LVM-slice, lo que sea) que se utiliza para los dispositivos xvda y xvdb. También querrá verificar el sistema de E / S, en general, para el hipervisor ya que otros dispositivos de disco podrían estar monopolizando los recursos del sistema.
Suele ser una buena herramienta de diagnóstico inicial. Toma resúmenes de 5 segundos de E / S para TODOS los dispositivos disponibles y, por lo tanto, es útil tanto dentro como fuera de la imagen de VM.
fuente
Verifique sus descriptores de archivo / inodes disponibles. Cuando alcanzas el límite, intercambian e imitan iowait
Editar
Vi que estás usando xen, mira tus interrupciones actuales, podrías encontrar que blkif es más alto de lo normal.
Un poco tarde ahora, pero instale munin y realmente ayudará a la futura depuración.
fuente
Luego verifique dmesg para ver qué está realizando la lectura / escritura de bloque o inodos sucios.
Compruebe también nofile limit en limits.conf, un proceso podría estar solicitando más archivos de los que tiene permitido abrir.
fuente
ADVERTENCIA: HDPARM ES PELIGROSO, ¡SIEMPRE LEE SOBRE EL MANDO QUE USTED VA A USAR!
Si ninguna otra máquina virtual está estresando los discos duros, haga
en los discos físicos subyacentes. Posiblemente el caché del disco no funcione con precisión. Esto vaciará los datos almacenados en el caché, y puede monitorear constantemente la E / S, ya sea que esté a punto de aumentar nuevamente después del vaciado. En caso afirmativo, será un problema de caché.
fuente
Con el promedio de carga, he visto aumentar las operaciones de red bloqueadas (es decir, llamadas largas a un servidor de base de datos externo). No estoy seguro, pero supongo que la red IO puede hacer que la CPU espere a subir. ¿Alguien puede confirmar?
fuente
Podrían ser dispositivos de bucle invertido, que están montados en la red.
fuente
En mis máquinas, NFS es el mayor "productor" de IO-WAIT. Tengo un SSD en mi computadora portátil que es rápido como el infierno, por lo que el "verdadero IO" no es el problema. Sin embargo, a veces tengo muchas E / S de espera debido a mis recursos compartidos nfs.
SCP a veces también parece conducir a IO Wait, pero en menor medida.
fuente
Esto puede ser cualquier cosa. Simplemente significa que algo está esperando el final de la operación de E / S. Puede averiguar qué proceso es a través de ps, luego adjuntarle gdb y verificar la traza inversa para determinar qué llamada está bloqueada (generalmente esto es algo relacionado con la red o un disco desconectado repentinamente). Para obtener información de fd, consulte / proc.
fuente
También experimenté un problema similar justo antes de que fallara un disco en un RAID y algunos cables SATA con curvas cerradas comenzaron a fallar.
El uso de la CPU estaba cerca del 0%, pero 1 o más CPU en un sistema de 4 núcleos estaban gastando el 100% de su tiempo en IOwait durante largos períodos de tiempo (encontrado a través
top
de la pantalla de la CPU de varias líneas) con muy bajas IOps y ancho de banda (encontrado víaiostat
), pero con actividad de interrupción de ráfaga alta. El uso interactivo de la línea de comandos fue doloroso durante cualquier acceso al disco (es decir, guardar automáticamente desde laemacs
sesión de alguien ), pero de otra manera tolerable una vez que pasaron los períodos de IOwait (y presumiblemente las operaciones tuvieron éxito después de muchos reintentos).fuente