Aproximadamente dos veces por semana, toda la interfaz gráfica se bloqueará durante aproximadamente 10-20 segundos sin previo aviso mientras realizo tareas simples como navegar por la web o escribir un documento. Cuando esto sucede, los elementos de la GUI no responden a la entrada del mouse o del teclado, y el applet System Monitor muestra el uso del procesador 100% IOWait.
Hoy, finalmente tuve el Terminal de GNOME ya abierto cuando comenzó el problema. A pesar de que otras aplicaciones como Google Chrome, Firefox, GNOME Do y GNOME Panel no respondían, el terminal era utilizable. Corrí iotopy observé que los comandos nombraban [flush-8:16]y [jbd2/sdb2-8]usaban alternativamente 99.99% IO.
¿Qué son estos y cómo puedo evitar que causen falta de respuesta de la GUI?
Detalles
$ mount | grep ^/dev
/dev/sda1 on / type ext4 (rw,noatime,discard,errors=remount-ro,commit=0)
/dev/sdb2 on /home type ext4 (rw,commit=0)
$ cat /proc/swaps
Filename Type Size Used Priority
/dev/sdb3 partition 1052252 0 -1
/dev/sdaes un OCZ-VERTEX2 y /dev/sdbes un WD10EARS . Aquí está dumpe2fs /dev/sdb2y smartctl /dev/sdb --all.
No veo nada inusual en dmesgo /var/log/syslog.
fuente

flushescribe el búfer / caché de RAM en el disco, y jbd2 se ocupa del diario ext4./dev/sda, ¿qué disco contiene qué? ¿Como "root en sda, home on sdb"?dmesgerrores de disco.Respuestas:
Voy a aventurar una teoría:
/dev/sdb1¿es acaso espacio de intercambio?Si algo central de la interfaz gráfica se ha descargado al disco, la GUI no puede continuar hasta que haya recibido esos datos. Si el disco de intercambio está inactivo, esto significa que está atascado hasta que el disco responda.
Creo que esto daría un bloqueo temporal, y el período de 10-20 segundos se ajusta al tiempo que tarda un disco inactivo en responder. Presumiblemente, el terminal todavía responde porque todo lo que necesita ya está en la RAM.
Algunas herramientas terminales para explorar la teoría:
hdparm -C /dev/sdXle dice si un disco está durmiendo:active/idlesignifica que se está ejecutando. En estadostandbyosleepingha dejado de girar y tardará un tiempo en iniciarse nuevamente. Verman hdparm.free -mdice cuánto espacio de intercambio se usa:"Swap:" es la línea relevante, en este ejemplo, el intercambio de 6.2 GB está disponible y no se utiliza nada.
Si este es el problema, puede mover swap a sda o deshabilitar spindowns para sdb.
fuente
free -mdurante el bloqueo confirmó que se estaban utilizando 0 MB de intercambio.