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.