GNU/Linux >> Tutoriales Linux >  >> Linux

Los 30 mejores ejemplos de comandos para monitorear en Linux

El comando superior en Linux muestra los procesos en ejecución en el sistema. Una de las herramientas más importantes para un administrador de sistemas. Se usa ampliamente para monitorear la carga en un servidor. En este artículo, exploramos el comando superior en detalle. El comando superior es un comando interactivo. Hay muchos comandos disponibles cuando se ejecuta top. También exploraremos estos comandos.

1. Comando superior predeterminado

En primer lugar, comprendamos lo que dice la salida. El comando superior muestra mucha información sobre el sistema en ejecución. Pero necesitamos entender el significado de las diferentes secciones de este resultado. Para ver el proceso en ejecución, en la terminal ejecute el siguiente comando

# top

Ejecutándose de forma predeterminada, el comando superior muestra un resultado como este:

Hay información en diferentes columnas y líneas horizontales que muestran un resumen de los diferentes parámetros del sistema y, a continuación, están los procesos y sus atributos en columnas.

a) Campos/Columnas

Por defecto, top muestra algunos atributos asociados a procesos y el tipo de información se representa en columna. Entonces, para comprender cómo funciona el comando superior, debemos conocer el rol de cada columna para saber dónde está la información que deberíamos necesitar

PID: El ID de proceso representado por un valor único que identifica de forma única un proceso.

USUARIO: El nombre de usuario efectivo del propietario de los procesos. Ayuda a identificar exactamente los procesos iniciados por un usuario en particular

PR: es la prioridad real del proceso, tal como lo ve el kernel de Linux, la prioridad de programación del proceso. Para procesos normales, la prioridad del kernel es simplemente +20 del buen valor. Por lo tanto, un proceso con el valor Niza neutral de cero tiene una prioridad de kernel de 20. Para los procesos que se ejecutan en tiempo real, el valor del campo es RT

NI: Es el valor agradable del proceso correspondiente a un concepto de espacio de usuario. El rango de valor agradable es -20 a +19 donde -20 es el más alto, 0 predeterminado y +19 es el más bajo. Los valores más bajos significan una prioridad más alta. La relación entre valor agradable y prioridad es PR = 20 + NI

VIRTENCIA: Es la cantidad de memoria virtual utilizada por el proceso. Representa a cuánta memoria puede acceder el programa en el momento presente; representa el tamaño virtual de un proceso, que es la suma de la memoria que realmente está usando,

RES: Es el tamaño de la memoria residente. La memoria residente es la cantidad de memoria física no intercambiada que utiliza una tarea. Representa el tamaño residente, que es una representación precisa de la cantidad de memoria física real que consume un proceso. (Esto también corresponde directamente a la columna %MEM). Prácticamente siempre será menor que el tamaño de VIRT, ya que la mayoría de los programas dependen de la biblioteca C.

SHR: SHR es la memoria compartida utilizada por el proceso e indica cuánto del tamaño de VIRT es realmente compartible (memoria o bibliotecas). En el caso de las bibliotecas, no significa necesariamente que toda la biblioteca sea residente.

S: Este es el estado del proceso. Los procesos están definidos por un estado de funcionamiento. Puede tener uno de los siguientes valores:

  • D - sueño ininterrumpido :un estado de suspensión donde el proceso está esperando que suceda algo. No puede ser interrumpido por una señal; generalmente se ve cuando el proceso está esperando el disco.
  • R - corriendo :el proceso está listo para ejecutarse y se ejecutará cada vez que llegue su turno para usar la CPU
  • S - durmiendo :un estado de suspensión donde el proceso está esperando que suceda algo. Puede ser interrumpido por una señal
  • T - rastreado o detenido :es un estado donde el proceso se detiene, generalmente a través de SIGSTOP o SIGTSTP . También puede ser detenido por un depurador (ptrace ). Cuando ve ese estado, generalmente se debe a que usó Ctrl-Z para poner un comando en segundo plano.
  • Z - zombi :es un estado donde el proceso está muerto (ha terminado su ejecución), y lo único que queda es la estructura que lo describe en el kernel. Está esperando que su proceso principal recupere su código de salida y no mucho más. Después de que su proceso principal termine con él, desaparecerá.

% CPU: Es el porcentaje de tiempo de CPU que ha utilizado la tarea desde la última actualización. El porcentaje de la CPU que está utilizando el proceso. Por defecto, top muestra esto como un porcentaje de una sola CPU. En los sistemas de varios núcleos, puede tener porcentajes superiores al 100 %.

% MEM: Representa el porcentaje de memoria física disponible utilizada por el proceso. Se puede considerar como la parte de la memoria total disponible utilizada por ese proceso.

TIEMPO+: El tiempo total de CPU que ha usado la tarea desde que comenzó, con una precisión de hasta centésimas de segundo.

MANDO: El comando que se utilizó para iniciar el proceso.

Hay muchas otras salidas que no se muestran de forma predeterminada y que pueden mostrar información sobre errores de página, grupo efectivo e ID de grupo del proceso, y muchos más.

b) Tiempo de actividad y promedios de carga

Cuando está en el "modo superior", en la primera línea del resultado del comando superior, se muestra una salida similar al comando de tiempo de actividad.

Los campos muestran la siguiente información:
* la hora actual del sistema
* el tiempo que su sistema ha estado activo
* número de usuarios conectados al sistema
* promedio de carga de 5, 10 y 15 minutos respectivamente.
Esta pantalla de tiempo de actividad se puede alternar con l y puede ocultar la información del promedio de carga.

c) Tareas

La segunda línea muestra el resumen de tareas o procesos. Los procesos pueden estar en diferentes estados como hemos visto anteriormente para la columna 'S'. Muestra los diferentes procesos y sus estados

d) Estados de la CPU

La tercera línea muestra las diferentes estadísticas de la CPU.

El significado de los diferentes tiempos de CPU son:

  • nosotros, usuario :nos muestra que el procesador dedica el 1,8 % de su tiempo a ejecutar procesos en el espacio del usuario. Un programa de espacio de usuario es cualquier proceso que no pertenece al kernel.
  • sy, sistema :es la cantidad de tiempo que la CPU pasó ejecutando el kernel.
  • ni, agradable: muestra cuánto tiempo pasó la CPU ejecutando procesos de espacio de usuario que se han mejorado. En un sistema en el que no se han mejorado los procesos, el número será 0.
  • id, inactivo :nos dice que el procesador estuvo inactivo un poco más del 97 % del tiempo durante el último período de muestreo.
  • wa , IO espera :está inactivo mientras espera que se complete una operación de E/S
  • hola :cuánto tiempo ha pasado el procesador dando servicio a las interrupciones de hardware
  • si :cuánto tiempo ha pasado el procesador dando servicio a las interrupciones del software
  • st :Este último número solo se aplica a las máquinas virtuales. Cuando Linux se ejecuta como una máquina virtual en un hipervisor, el st (abreviatura de robado) la estadística muestra cuánto tiempo ha pasado la CPU virtual esperando que el hipervisor atienda a otra CPU virtual que se ejecuta en una máquina virtual diferente

Esto se puede alternar con t tecla que determina cómo se muestran las tareas y puede ocultar la tarea y la información de la CPU.

e) Uso de memoria

Esta parte consta de dos líneas que pueden expresar valores en kibibytes (KiB), mebibytes (MiB) o gibibytes (GiB) según la cantidad de memoria física instalada actualmente.

  • La línea 1 refleja memoria física , clasificado como:total, usado, libre, tampones
  • La línea 2 refleja memoria virtual , clasificado como:total, usado, gratis, en caché

  • Memoria física es su RAM, piezas físicas de hardware que proporcionan memoria de acceso aleatorio
  • Intercambiar es una memoria virtual que puede ser un archivo o una partición en su disco duro que se usa esencialmente como RAM adicional. Sin embargo, no es un chip RAM separado, reside en su disco duro.

La memoria se puede alternar con m clave que determina cómo se muestra el uso de la memoria y puede ocultar la información de la memoria.

2. Mostrar menú de ayuda interactivo

Tiene un poderoso modo interactivo que está activo por defecto cuando se inicia Top. Se puede usar una variedad de comandos en forma de solo presionar teclas de letras para manipular lo que se ve. Aquí exploramos más estos comandos.

En primer lugar, puede presionar h o ? para mostrar el menú de ayuda para comandos interactivos o una lista resumida de comandos. Podemos ver los roles de las diferentes teclas que podemos usar en la ejecución del comando superior.

3. Actualizar pantalla manualmente

El comando superior por defecto actualiza la información mostrada después de un cierto intervalo (3 segundos). Para actualizar esta información manualmente, el usuario puede presionar ENTER o SPACE .

4) Alternar modo de visualización alternativo

Por defecto, tenemos el modo de visualización de pantalla completa donde el resumen y los datos de la tarea se muestran en una sola ventana. Por lo tanto, en cualquier momento, solo se puede mostrar un grupo de campos. También existe el modo de visualización alternativo, en el que puede haber un máximo de cuatro ventanas, cada una de las cuales muestra un grupo de campos. Estas ventanas se denominan Def, Job, Mem y Usr

  • Def: ordenados por %CPU
  • Trabajo :ordenado por PID
  • Mem :ordenado por %MEM
  • usuario : ordenado por campo Usuario

Se puede ingresar al modo de visualización alternativo usando el A Comando de cambio de modo de visualización. Cada uno de los 4 grupos de campos tiene un área de resumen única configurable por separado y su propia área de tareas configurable. Solo una de estas 4 ventanas será la ventana actual. La ventana actual se muestra en la esquina superior izquierda.

Puedes cambiar entre 4 ventanas con a y w llaves. a pasa al siguiente y w a la ventana anterior. Con g comando, puede ingresar un número para seleccionar la ventana actual.

5) Pantalla en negrita

Parte de la información importante se muestra en negrita. B El comando alterna el uso de negrita. Este comando influirá en el uso de la capacidad terminfo en negrita y altera tanto el área de resumen como el área de tareas de la ventana actual. Cuando esta opción está 'ON ' y la parte superior está funcionando en modo monocromático, toda la pantalla aparecerá como texto normal. Por lo tanto, a menos que x y/o y los interruptores están usando reversa para enfatizar, no habrá confirmación visual de que estén encendidos.

6) Establecer intervalo de tiempo de visualización

d o s Las teclas cambian el retraso entre actualizaciones. Solicite un nuevo tiempo de retraso, que debe ser en segundos. Suprimido en modo seguro. Cuando d o s se presiona, se le pedirá que ingrese un valor (en segundos) que se establecerá como intervalo de visualización. Si ingresa 1 aquí, la parte superior se actualizará cada segundo.

7) Cambiar carga, tarea, información de memoria

l , t y m las teclas alternarán el promedio de carga, el estado de la tarea/cpu y la información de la memoria, respectivamente, como se explica en Tiempo de actividad y promedio de carga , Estado de la CPU y Uso de memoria .

8) Gestión de campo para visualización

F tecla utilizada para elegir qué campo desea mostrar en la pantalla de salida. Para seleccionar un campo para mostrar, presione SPACE o d clave en el nombre. Los campos marcados como * son seleccionados. Presiona q o ESC para salir cuando haya terminado.

< y >
El < El comando mueve el campo ordenado a la izquierda y > a la derecha

9) Clasificación inversa

De forma predeterminada, la clasificación se realiza en orden descendente. Presionando R invertirá el orden de clasificación de la columna actualmente ordenada, usando este comando interactivo muestra pLos procesos que consumen la menor cantidad de CPU se muestran primero.

10) Muestra la ruta del comando

c muestra la ruta de comando completa junto con los argumentos de la línea de comando en la columna COMMAND.

11) Tareas inactivas

i la tecla no muestra las tareas inactivas Alternar tareas inactivas. Muestra todas las tareas o solo las tareas activas. Cuando esta opción está desactivada, no se mostrarán las tareas que no han usado ninguna CPU desde la última actualización. Sin embargo, debido a la granularidad de los campos %CPU y TIME+, es posible que aún se muestren algunos procesos que parecen no haber usado CPU.

12) Vista del Bosque

V key mostrará los procesos en una jerarquía padre-hijo como se muestra a continuación

13) Cambiar mapa de colores

Presionando la Z La tecla lleva al usuario a una pantalla donde se puede cambiar el color de visualización para el comando superior. Se le presentará una pantalla separada. Esa pantalla se puede usar para cambiar los colores solo en la ventana actual o en las cuatro ventanas antes de volver a la pantalla superior. Cuando emites el Z comando interactivo, tiene 4 letras mayúsculas para seleccionar un objetivo para 8 números para seleccionar un color

La siguiente pantalla muestra una vista superior a todo color con las 4 pantallas encendidas.

14) Alternar color

z enciende o apaga la pantalla a color. cambia la ventana actual entre el último esquema de color utilizado y la forma anterior de negro sobre blanco o blanco sobre negro. Este comando alterará tanto el área de resumen como el área de tareas

15) Cambiar resaltado para el campo de clasificación actual y la tarea en ejecución

x para Columna-Resaltar alternar cambia el resaltado para el campo de clasificación actual. Si olvida qué campo se está ordenando, este comando puede servir como un recordatorio visual rápido, siempre que se muestre el campo de ordenación. Es posible que el campo de clasificación no esté visible porque no hay suficiente ancho de pantalla y/o f el comando interactivo lo apagó

y para la alternancia de resaltado de fila cambia el resaltado para tareas en ejecución. El uso de esta disposición proporciona información importante sobre la salud de su sistema. Los únicos costos serán algunas secuencias de escape de tty adicionales

Dependiendo de la configuración de su pantalla, es posible que deba hacer que la salida sea coloreada para notar estos aspectos destacados.

16) Mostrar los procesos de un Usuario

u muestra procesos para un usuario en particular. Se le pedirá que ingrese el nombre de usuario. Se mostrará en blanco para todos los usuarios. Solo muestra los procesos con una identificación de usuario o un nombre de usuario que coincide con el dado, coincide con el usuario efectivo

17) Mostrar el número de tareas mostradas

n o # establecer el número máximo de tareas mostradas. Solicita ingresar el número de tareas a mostrar. Se utilizará el arrendador de su número y las filas de pantalla disponibles. Cuando se usa en el modo de pantalla alternativa, este es el comando que le brinda un control preciso sobre el tamaño de cada pantalla de tareas actualmente visible, excepto la última. No afectará el tamaño de la última ventana, ya que todas las pantallas de tareas anteriores ya se habrán pintado.

18) Eliminar tareas

Uno de los comandos más importantes de la parte superior. k se utiliza para enviar señales a tareas (generalmente matar tareas). Se le pedirá un PID y luego la señal para enviar. Si no ingresa un PID o un número negativo, se interpretará como el valor predeterminado que se muestra en el aviso (la primera tarea que se muestra). Un valor PID de cero significa que el programa superior en sí. La señal predeterminada, como se refleja en el indicador, es SIGTERM. Sin embargo, puede enviar cualquier señal, a través de un número o nombre. Si desea cancelar el proceso de eliminación, realice una de las siguientes acciones según su progreso:en

  • en el indicador de pid, escriba un número no válido
  • en el indicador de señal, escriba 0 (o cualquier señal no válida)
  • en cualquier indicación, escriba

19) Renice una tarea

El r La opción se utiliza para cambiar la prioridad del proceso. Esta operación también se llama renice una tarea para cambiar la prioridad de programación. Se le pedirá un PID y luego el valor para aceptarlo. Si no ingresa un PID o un número negativo, se interpretará como el valor predeterminado que se muestra en el aviso (la primera tarea que se muestra). Un valor PID de cero significa que el programa superior en sí. Un valor agradable positivo hará que un proceso pierda prioridad. Por el contrario, un valor agradable negativo hará que el kernel vea un proceso de manera más favorable.

Como regla general, los usuarios comunes solo pueden aumentar el valor agradable y no pueden bajarlo. Si desea cancelar el proceso de renice, realice una de las siguientes acciones según su progreso:

  • en el indicador de pid, escriba un número no válido
  • en el buen mensaje, escriba sin ingresar
  • en cualquier indicación, escriba

20) Estado de CPU separado

Este comando afecta cómo t se muestra la parte de los estados de la CPU del comando. Cuando vea %Cpu(s) en el área de resumen, el 1 alternar está activado y toda la información de la CPU se recopila en una sola línea. De lo contrario, cada CPU se muestra por separado como:`%Cpu0, %Cpu1, ...' hasta la altura de pantalla disponible.

21) Resumir el estado de la CPU

Este 2 el comando alterna entre el 1 pantalla de resumen de cpu de comando (solo) o una pantalla de resumen más las estadísticas de uso de cpu para cada nodo NUMA.

22) Mostrar comando superior en modo por lotes

El -b La opción inicia el comando superior en modo por lotes. Puede ser útil cuando desea guardar la salida en un archivo.

# top -b
top - 01:05:36 up 4 days,  2:59,  1 user,  load average: 0.00, 0.00, 0.00
Tasks: 117 total,   1 running, 116 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.6 us,  0.2 sy,  0.0 ni, 99.1 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :   500096 total,    50244 free,    45732 used,   404120 buff/cache
KiB Swap:        0 total,        0 free,        0 used.   414836 avail Mem 

  PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND
 1373 root      20   0   40388   3672   3160 R  6.2  0.7   0:00.02 top
    1 root      20   0   38052   5600   3488 S  0.0  1.1   0:23.26 systemd
    2 root      20   0       0      0      0 S  0.0  0.0   0:00.01 kthreadd
    3 root      20   0       0      0      0 S  0.0  0.0   0:09.17 ksoftirqd/0
    5 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 kworker/0:0H
    7 root      20   0       0      0      0 S  0.0  0.0   0:27.64 rcu_sched
    8 root      20   0       0      0      0 S  0.0  0.0   0:00.00 rcu_bh
    9 root      rt   0       0      0      0 S  0.0  0.0   0:00.00 migration/0
   10 root      rt   0       0      0      0 S  0.0  0.0   0:04.02 watchdog/0

23) Cambio de comando/nombre de programa

Como se discutió en los comandos anteriores, -c La opción cambiará desde el último estado recordado de visualización del nombre del programa/comando.

24) Establecer el intervalo de retraso en la línea de comandos

-d establece el intervalo de retraso para la parte superior (en segundos). Por ejemplo:

$ top -d 1

iniciará el comando superior con un intervalo de retraso de 1 segundo.

25) Cambio de proceso inactivo en la línea de comandos

Esta opción establece el comando superior con el último i recordado estado invertido.

$ top -i

26) Establecer el número de iteraciones en la línea de comandos

Con -n opción, puede establecer el número de iteraciones después de las cuales terminará la parte superior.

$ top -n 3

saldrá de la parte superior automáticamente después de 3 salidas. En la imagen de abajo, salió automáticamente

27) Supervisar PID específicos en la línea de comandos

Puede especificar qué PID desea monitorear con -p opción. El valor de PID 0 se tratará como el ID de proceso del propio comando superior.

$ top -p pid_value

28) Muestra la tarea por nombre de usuario o UID en la línea de comandos

El proceso de un usuario en particular se puede ver con estas opciones. El nombre de usuario o UID se puede especificar a la opción. El -p , -u y -U las opciones son mutuamente excluyentes. Solo se puede usar una de las opciones a la vez. Recibe un error cuando intenta usar cualquier combinación de estas opciones:

$ top -u franshesco

29) Ordenar por... en la línea de comando

El -o se puede usar con el comando superior para filtrar. Determina qué tareas se mostrarán en la ventana 'actual'. Por ejemplo, ordenaremos por %CPU

# top -o %CPU

30) Comprobar la versión de comando superior

Para verificar la versión del comando superior, usamos la opción -v

# top -v
  procps-ng version 3.3.10

Conclusión

Ahora podemos manipular nuestros procesos por comando superior. Tenemos sus poderosos y ventajas. Es posible usarlo en línea de comandos o en modo interactivo. Ahora, podemos elegir fácilmente cómo usarlo para nuestras necesidades.


Linux
  1. Consejos para la parte superior:Monitoreo de la carga de la CPU en Linux

  2. 12 ejemplos de comandos IP para usuarios de Linux

  3. Ejemplos de comandos kill en Linux

  4. Ejemplos de comandos renice en Linux

  5. Ejemplos de comandos pkill en Linux

Tutorial de comando superior de Linux para principiantes (8 ejemplos)

Tutorial de comandos ss de Linux para principiantes (8 ejemplos)

Comando de localización de Linux para principiantes (8 ejemplos)

16 ejemplos prácticos del comando Linux LS para principiantes

UNIX/Linux:7 ejemplos prácticos de comandos PS para el monitoreo de procesos

mejores ejemplos de comandos en Linux