la parte superior dice que IOWAIT es alto, cómo encuentro los procesos culpables

9

Sé que no debería hacerlo, pero ejecuto algún sistema Ubuntu desde una unidad flash USB, en modo persistente, y es muy lento.

"top" me dice que no es por CPU, es por IO, es decir, alto% wa.

Ya he eliminado el intercambio, pero para optimizar aún más necesito obtener alguna pista sobre cuáles son los procesos que solían tanto el disco.

Entonces, básicamente, lo que me gustaría es el equivalente de "top" para mostrar los procesos con IOWAIT alto, al igual que "top" muestra los procesos con un alto% de CPU.

JeanHuguesRobert
fuente
Desearía que esto tuviera una mejor respuesta. Solo quiero una forma de hacer que el mejor sea el tiempo de espera en sus porcentajes de CPU por proceso.
bukzor

Respuestas:

5

Muchas unidades de "lápiz" USB son muy lentas, especialmente para escribir, por lo que puede hacer muy poco más que probar una unidad más rápida.

Para responder a su pregunta directa: puede obtener una idea de lo que está sucediendo en el disco iotop -o; si se deja en ejecución durante los períodos de mayor actividad, eso le mostrará qué procesos están realizando lecturas / escrituras de disco de forma activa y cuánto. Esto podría resaltar algún proceso o servicio que puede prescindir y desactivar para ayudar a las cosas. Hay algunos trabajos de crons en muchas configuraciones de Linux que escanean una parte del filesytsem (si no todos ellos) ocasionalmente para actualizar las memorias caché de búsqueda (como la updatedbtarea que actualiza los datos utilizados por comandos como locate), si encuentra uno de eso está causando su lentitud, entonces pueden eliminarse de forma segura de la lista de cosas de cron para ejecutarse regularmente.

¿Cuánta RAM tienes en la máquina de destino? Si se trata de una máquina pequeña por esa medida, entonces esto no ayudará, ya que habrá poco espacio para las lecturas de la memoria caché (por lo que las cosas que se leen nuevamente poco tiempo después deben proceder de la memoria USB nuevamente en lugar de una copia en caché en la RAM).

También puede probar una versión reducida de Ubuntu, especialmente si se encuentra en una situación de poca RAM, pero también podría ayudar si tiene mucha RAM pero unidades lentas al reducir los tiempos de arranque si no es nada más. Lubuntu es una opción popular para esto: todos los paquetes habituales están disponibles en caso de que los necesite, pero se instala menos de forma predeterminada, inicia menos servicios en el arranque de forma predeterminada y utiliza un entorno de escritorio de menor peso (todo lo que no sean estos cambios es el mismo arreglo , por lo que debería resultarle relativamente familiar, incluso si Ubuntu es la única variante de Linux con la que tiene mucha experiencia).

David Spillett
fuente
2
Gracias. Al ejecutar iotop -o -d 5 (5 segundos, no soy un lector rápido), noté 3 cosas: 1 / jdb2, 2 / gnome-setting-daemon y 3 / chromium que juntas generan casi un 50% de wa ... ¿Por qué? ¿gnome y chromium escriben en el disco todo el tiempo es un misterio (sin embargo, no son muchos datos, alrededor de 10K / s)? Con respecto a jdb2, creo que es mi culpa, desafortunadamente usé un ext4 fs y estoy buscando soluciones para volver a un ext2 más apropiado para llaves USB con escritura lenta.
JeanHuguesRobert
2
Kbytes / seg o escrituras pueden ser un problema para las unidades basadas en flash, ya que necesitan escribir en bloques grandes (por lo que para cada escritura pequeña, el controlador puede leer un bloque completo, actualizarlo y luego escribirlo). Chromium actualizará regularmente su caché basada en disco, posiblemente constantemente si los sitios que tiene abiertos realizan solicitudes en segundo plano para mantener actualizada la información "al instante" (Facebook y muchas aplicaciones similares lo hacen). El uso de un sistema de archivos sin diario como ext2 mejorará las cosas al eliminar las escrituras al diario de la situación, pero es menos seguro y no estoy seguro de cuán notable será la diferencia.
David Spillett