LINUX

Iotop – Cómo monitorear E / S de disco en Linux

La herramienta Iotop es una herramienta gratuita de código abierto que monitorea el uso de entrada / salida de disco (IO) en Linux. Ayuda al administrador del sistema a encontrar un proceso específico que consume más disco y ayuda en el análisis del rendimiento.

La herramienta Iotop es compatible con el kernel 2.6.20. Este tutorial explica cómo instalar y usar iotop en linux.

Prerrequisitos

La instalación de Iotop requiere por debajo de la versión mínima de python y kernel.

Python> = 2.7
Kernel de Linux ≥ 2.6.20

Instalar iotop en Linux

Veamos cómo instalar iotop en CentOS, Ubuntu, Fedora, Debian y Linux Mint.

En Ubuntu, Debian y Linux Mint

#sudo apt-get install iotop

En CentOS, Fedora y RHEL

#sudo yum -y install iotop
or 
#sudo dnf install iotop

Otra opción sería instalar desde la fuente descargando el archivo comprimido con gzip o bzip y extraerlo. Luego instálelo usando el archivo ‘setup.py’. Iotop está escrito en Python, es un requisito previo para la instalación de iotop.

Utilice los siguientes comandos para extraer e instalar iotop:

# tar -xjvf iotop-0.4.4.tar.bz2
# cd iotop-0.4.4/
# ./setup.py install

Uso de iotop

El comando iotop debe ejecutarse como usuario root. Como usuario normal, cuando ejecuta este comando, aparece el siguiente error:

$ iotop
Netlink error: Operation not permitted (1)
iotop requires root or the NET_ADMIN capability.

De forma predeterminada, iotop es un comando interactivo como el comando superior.

Salida de muestra:

Total DISK READ :       0.00 B/s | Total DISK WRITE :       0.00 B/s
Actual DISK READ:       0.00 B/s | Actual DISK WRITE:       0.00 B/s
  TID  PRIO  USER     DISK READ  DISK WRITE  SWAPIN     IO>    COMMAND
    1 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % systemd --switched-root --system --deserialize 17
    2 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [kthreadd]
    3 be/0 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [rcu_gp]
    4 be/0 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [rcu_par_gp]
    6 be/0 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [kworker/0:0H-kblockd]
    8 be/0 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [mm_percpu_wq]
    9 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [ksoftirqd/0]
   10 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [rcu_sched]
   11 rt/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [migration/0]
   12 rt/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [watchdog/0]
   13 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [cpuhp/0]
   15 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [kdevtmpfs]
   16 be/0 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [netns]
   17 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [kauditd]
   18 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [khungtaskd]
   19 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [oom_reaper]
   20 be/0 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [writeback]
   21 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [kcompactd0]
   22 be/5 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [ksmd]
   23 be/7 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [khugepaged]
   24 be/0 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [crypto]

En esta salida, en la parte superior, la primera línea se divide en dos columnas.

La primera columna muestra el total DISK READ y la segunda columna muestra total DISK WRITE por segundo.

Las siguientes líneas corresponden a cada proceso que realiza la operación IO. Enumera el ID del proceso, la propiedad del usuario, la lectura del disco, la escritura del disco, el nombre del proceso, el intercambio (uso de intercambio de cada proceso) para cada proceso del sistema.

Si desea enumerar solo los procesos activos, que en realidad están realizando cualquier operación de E / S de disco, presione o mientras iotop se está ejecutando (para alternar) o, alternativamente, ejecute iotop con -o opción (iotop -o).

Total DISK READ :       0.00 B/s | Total DISK WRITE :       3.97 K/s
Actual DISK READ:       0.00 B/s | Actual DISK WRITE:      59.50 K/s
  TID  PRIO  USER     DISK READ  DISK WRITE  SWAPIN     IO>    COMMAND
 1240 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.02 % rsyslogd -n [rs:main Q:Reg]
  400 be/3 root        0.00 B/s    0.00 B/s  0.00 %  0.01 % [jbd2/sda-8]
 1236 be/4 root        0.00 B/s    3.97 K/s  0.00 %  0.00 % rsyslogd -n [in:imjournal]

Puede salir de iotop como top presionando q.

El siguiente resultado es cuando se ejecuta cualquier proceso intenso, como iozone.

Total DISK READ: 123.96 K/s | Total DISK WRITE: 14.16 M/s
TID PRIO USER DISK READ DISK WRITE SWAPIN IO> COMMAND
468 be/3 root 0.00 B/s 104.59 K/s 0.00 % 56.66 % [jbd2/sda8-8]
7083 be/4 root 0.00 B/s 13.80 M/s 0.00 % 36.45 % ./iozone -a
5568 be/4 raghu 123.96 K/s 0.00 B/s 0.00 % 0.00 % totem /home/raghu/Downloads/01 - Harjinder Singh - Mere Ram Rai.mp3

Opciones de Iotop

Como se indicó anteriormente, el -o La opción enumera los procesos que realmente realizan E / S de disco. los -b La opción ejecuta iotop en modo por lotes no interactivo. Se puede utilizar con fines de registro.

los -n options indica el número de iteraciones que se realizarán para el modo por lotes:

# iotop -b -n1
Total DISK READ: 0.00 B/s | Total DISK WRITE: 0.00 B/s
TID PRIO USER DISK READ DISK WRITE SWAPIN IO COMMAND
1 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % init
2 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [kthreadd]
3 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [ksoftirqd/0]
2052 be/4 rtkit 0.00 B/s 0.00 B/s 0.00 % 0.00 % rtkit-daemon
2053 be/4 rtkit 0.00 B/s 0.00 B/s 0.00 % 0.00 % rtkit-daemon
6 rt/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [migration/0]
7 rt/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [watchdog/0]
8 rt/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [migration/1]
2057 be/4 raghu 0.00 B/s 0.00 B/s 0.00 % 0.00 % gconfd-2
10 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [ksoftirqd/1]
11 rt/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [watchdog/1]
---Output Truncated---

los -u La opción muestra los procesos para un usuario en particular.

# iotop -u raghu
Total DISK READ: 0.00 B/s | Total DISK WRITE: 0.00 B/s
TID PRIO USER DISK READ DISK WRITE SWAPIN IO> COMMAND
2057 be/4 raghu 0.00 B/s 0.00 B/s 0.00 % 0.00 % gconfd-2
2081 be/4 raghu 0.00 B/s 0.00 B/s 0.00 % 0.00 % gvfs-afc-volume-monitor
2082 be/4 raghu 0.00 B/s 0.00 B/s 0.00 % 0.00 % caja
2139 be/4 raghu 0.00 B/s 0.00 B/s 0.00 % 0.00 % clock-applet
2084 be/4 raghu 0.00 B/s 0.00 B/s 0.00 % 0.00 % matecomponent-activation-server --ac-activate --ior-output-fd=18
2087 be/4 raghu 0.00 B/s 0.00 B/s 0.00 % 0.00 % mate-bluetooth-applet
2088 be/4 raghu 0.00 B/s 0.00 B/s 0.00 % 0.00 % mate-volume-control-applet
7247 be/4 raghu 0.00 B/s 0.00 B/s 0.00 % 0.00 % chromium-browser --disable-new-tab-first-run --enable-user-scripts
2055 be/4 raghu 0.00 B/s 0.00 B/s 0.00 % 0.00 % gconf-helper

-d La opción establece el retraso entre iteraciones.

# iotop -d 3

Finalmente, el --version La opción imprime el número de versión de iotop.

# iotop --version
iotop 0.4.4

Atajos de palabras clave de Iotop

Veamos algunos atajos de palabras clave útiles para usar iotop.

Mueva la tecla de flecha hacia la izquierda o hacia la derecha para cambiar la clasificación.

-h: – opción para ver información de uso.
-r: – opción para invertir el orden de clasificación.
-o: – opción para comprobar procesos o hilo.
-b: – opción para activar el modo no interactivo para habilitar el uso de E / S de registro.
-p: – PID para listar todos los procesos / subprocesos a monitorear.
-u: – Opción USUARIO para listar todos los usuarios a monitorear.
-P: – opción para listar solo procesos. Normalmente, iotop muestra todos los hilos.
-a: – opción para verificar las E / S acumuladas en lugar del ancho de banda.

Conclusión

Iotop es muy útil para el análisis de rendimiento cuando el sistema utiliza una E / S de disco elevada o un uso elevado de intercambio. Si tiene alguna pregunta o comentario, no dude en dejar un comentario.

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba
Cerrar