atop - Sistema avanzado y monitor de procesos
atop -B[H] [interval [samples]] atop [-g|-m|-d|-n|-u|-p|-s|-c|-v|-o|-y|-Y] [-C|-M|-D|-N|-A] [-fFG1xR] [interval [samples]] atop [-Plabel[,label]... [-Z]] [-Jlabel[,label]...] [interval [samples]] atop -w rawfile [-a] [-S] [interval [samples]] atop -B[H]r [rawfile|yyy...] [-b [YYYYMMDD]hhmm] [-e [YYYYMMDD]hhmm] atop -r [rawfile|yyy...] [-b [YYYYMMDD]hhmm] [-e [YYYYMMDD]hhmm] [-g|-m|-d|-n|-u|-p|-s|-c|-v|-o|-y|-Y] [-C|-M|-D|-N|-A] [-fFG1xR] atop -r [rawfile|yyy...] [-b [YYYYMMDD]hhmm] [-e [YYYYMMDD]hhmm] [-Plabel[,label]... [-Z]] [-Jlabel[,label]...]
El programa atop es un monitor interactivo para ver la carga en un sistema Linux. Cada intervalo segundos (predeterminado: 10 segundos) se recopila información sobre la ocupación de recursos a nivel del sistema de los recursos de hardware más críticos (desde el punto de vista del rendimiento), es decir, CPU, memoria, discos e interfaces de red. . Además, se recopila información sobre los procesos (o hilos) que son responsables de la utilización de las CPU, la memoria y los discos. La carga de red por proceso se muestra solo cuando se ha instalado el módulo del kernel netatop.
Al ejecutar atop, puede elegir ver la carga del sistema en modo de gráfico de barras o en modo de texto. En el modo de gráfico de barras, la utilización de recursos de CPU, memoria, discos e interfaces de red se muestra a través de gráficos de barras (basados en caracteres), pero solo a nivel del sistema. Cuando desee ver información más detallada a nivel del sistema o cuando desee ver el consumo de recursos a nivel de proceso o subproceso, puede cambiar al modo de texto presionando la tecla 'B'. Alternativamente, puede usar la tecla 'B' (nuevamente) para cambiar del modo de texto al modo de gráfico de barras.
De forma predeterminada, atop comienza en modo de texto a menos que se use el indicador -B o a menos que se haya configurado 'B' como indicador predeterminado en .atoprc (para obtener más información sobre los indicadores predeterminados, consulte la página de manual de atoprc).
En el modo de gráfico de barras, el terminal se subdividirá en cuatro ventanas basadas en caracteres, es decir, una ventana para cada recurso de hardware:
La primera barra muestra el porcentaje ocupado promedio de todas las CPU con la etiqueta de barra 'Avg' (puede abreviarse como 'Av' o incluso simplemente 'A'). Las barras siguientes muestran los porcentajes ocupados de CPU individuales.
Cuando no hay suficiente espacio horizontal para mostrar todas las CPU, solo se mostrarán las CPU más ocupadas por muestra después de que el ancho de cada barra se haya reducido al mínimo.
De forma predeterminada, las categorías de consumo de CPU se muestran con diferentes colores en las barras, marcadas con un carácter 'S' (modo de sistema), 'U' (modo de usuario), 'I' (manejo de interrupciones), 's' (robar ) y 'G' (invitado, es decir, consumido por máquinas virtuales).
La parte superior de la barra puede consistir en un color sin marcar que represente una categoría 'neutral'. Suponga que la unidad de escala es del 5 % por línea y el porcentaje de ocupación total es del 54 % y consta de dos categorías del 27 %. Las dos categorías se redondearán al 25 % (5 líneas de 5 % cada una), pero el porcentaje de ocupación total se redondeará al 55 % (11 líneas de 5 %). Luego, la línea superior representará una categoría 'neutral'.
Al presionar la tecla 'H' o al comenzar arriba con la bandera '-H', no se muestran categorías.
Se dibuja una línea roja en el gráfico de barras como umbral crítico. De forma predeterminada, este valor es del 90 % y se puede modificar mediante la opción 'cpucritperc' en el archivo de configuración (consulte la página de manual atoprc separada). Cuando este valor se establece en cero, no se dibujará ninguna línea de umbral.
La memoria se presenta como una columna en la que se muestran las categorías específicas de consumo de memoria. Estas categorías son (código, datos y pila de) procesos/núcleo, cachés de losa (es decir, memoria del núcleo asignada dinámicamente), memoria compartida, tmpfs, caché de página y memoria libre.
El espacio de intercambio (si está presente) también se presenta como una columna en la que se muestran las categorías procesos/tmpfs, memoria compartida y espacio libre. En el lado derecho se muestran los contadores de eventos relacionados con la memoria.
Los tres contadores inferiores son de color verde cuando no hay presión de memoria. Cuando se nota una actividad considerable, dicho contador puede ser de color naranja y rojo con actividad alta.
Cuando comienza la presión de la memoria, generalmente se activará primero el escaneo de la página de la memoria. Cuando aumenta la presión, las páginas de memoria de los procesos pueden intercambiarse para intercambiar espacio (si está presente).
El contador 'oomkills' (eliminación por falta de memoria) es el más serio: refleja la cantidad de procesos que se eliminan debido a la falta de memoria (y de intercambio). Por lo tanto, este contador muestra el número absoluto (no por segundo) de procesos eliminados durante el último intervalo e inmediatamente se coloreará en rojo cuando sea 1 o más. Además, después de que atop haya notado que OOM está matando, el contador 'oomkills' permanece naranja durante los siguientes 15 minutos, en caso de que te hayas perdido el evento de muerte de OOM en sí.
Cuando hay suficiente espacio vertical en la ventana de memoria, se muestran contadores de eventos sobre la cantidad de páginas de memoria que se intercambian, la cantidad de páginas de memoria que se transfieren a dispositivos de bloque y la cantidad de páginas de memoria que se ingresan desde dispositivos de bloque.
El consumo de memoria y espacio de intercambio se mostrará preferiblemente en una ventana basada en caracteres que usa verticalmente toda la pantalla para una granularidad óptima. Sin embargo, cuando hay muchos discos y/o interfaces de red, la memoria y el consumo de espacio de intercambio se mostrarán en una ventana basada en caracteres que solo usa la mitad superior de la pantalla.
Para cada disco, el porcentaje de ocupación se muestra como una barra.
Cuando no haya suficiente espacio horizontal para mostrar todos los discos, solo se mostrarán los discos más ocupados por muestra.
De forma predeterminada, las categorías de consumo de disco se muestran con diferentes colores en las barras, marcadas con un carácter 'R' (lectura) y 'W' (escritura).
La parte superior de la barra puede consistir en un color sin marcar que represente una categoría 'neutral'. Suponga que la unidad de escala es del 5 % por línea y el porcentaje de ocupación total es del 54 % y consta de dos categorías del 27 %. Las dos categorías se redondearán al 25 % (5 líneas de 5 % cada una), pero el porcentaje de ocupación total se redondeará al 55 % (11 líneas de 5 %). Luego, la línea superior representará una categoría 'neutral'.
Al presionar la tecla 'H' o al comenzar arriba con la bandera '-H', no se muestran categorías.
Se dibuja una línea roja en el gráfico de barras como umbral crítico. De forma predeterminada, este valor es del 90 % y se puede modificar mediante la opción 'dskcritperc' en el archivo de configuración (consulte la página de manual atoprc separada). Cuando este valor se establece en cero, no se dibujará ninguna línea de umbral.
Para cada interfaz de red no virtual, se muestra un gráfico de barras dobles con una escala dedicada que refleja la tasa de tráfico. Una de las barras muestra la tasa de transmisión ('TX') y la otra barra la tasa de recepción ('RX'). La escala de tráfico de cada interfaz de red permanece en su nivel más alto. Todas las escalas de interfaz se pueden restablecer durante la medición presionando la tecla 'L'. La mayoría de las veces no se conoce la velocidad real (ancho de banda máximo) de las interfaces de red, p. en el caso de las interfaces de red de las máquinas virtuales. Por lo tanto, no es posible mostrar la utilización de la interfaz como un porcentaje. Sin embargo, cuando se conoce la velocidad real de una interfaz, se mostrará debajo del gráfico de barras correspondiente. Cuando no haya suficiente espacio horizontal para mostrar todas las interfaces de red, solo se mostrarán las interfaces más ocupadas por muestra.
Por lo general, los gráficos de barras no se ordenarán según el porcentaje de ocupación cuando haya suficiente espacio horizontal. Sin embargo, después de cambiar del modo de texto al modo de gráfico de barras, es posible que los gráficos de barras se hayan ordenado porque esto era necesario para la presentación en modo de texto. El siguiente intervalo en el modo de gráfico de barras muestra las barras sin clasificar nuevamente a menos que el ancho de la ventana no sea suficiente para todas las barras.
La parte restante de esta página del manual describe principalmente la información que se muestra en modo texto. Cuando ciertas descripciones también se aplican al modo de gráfico de barras, se mencionarán explícitamente.
La pantalla inicial en modo texto muestra si atop se ejecuta con vista restringida (usuario sin privilegios) o vista sin restricciones (usuario con privilegios). En caso de vista restringida, atop no tiene los privilegios (sin identidad raíz ni las capacidades necesarias) para recuperar todos los valores de contador en el nivel del sistema y en el nivel del proceso.
Con cada intervalo se muestra información sobre la ocupación de recursos a nivel del sistema (CPU, memoria, discos y capas de red), seguida de una lista de procesos que han estado activos durante el último intervalo. Tenga en cuenta que no se muestran todos los procesos que no cambiaron durante el último intervalo, a menos que se haya presionado la tecla 'a' o que se haya clasificado según la ocupación de la memoria (entonces los procesos inactivos también son relevantes). Si la lista de procesos activos no cabe completamente en la pantalla, solo se muestra la parte superior de la lista (ordenada por actividad).
Los intervalos se repiten hasta que se alcanza el número de muestras (especificado como argumento de comando), o hasta que se presiona la tecla 'q' en modo interactivo.
Cuando se inicia atop, comprueba si el canal de salida estándar está conectado a una pantalla oa un archivo/tubería. En el primer caso, produce códigos de control de pantalla (a través de la biblioteca ncurses) y se comporta de forma interactiva; en el segundo caso, produce una salida de texto plano.
En el modo interactivo, la salida de atop escala dinámicamente a las dimensiones actuales de la pantalla/ventana.
Si la ventana se redimensiona horizontalmente, las columnas se agregarán o eliminarán automáticamente. Para ello, cada columna tiene un peso particular. Se mostrarán las columnas con los pesos más altos que se ajusten al ancho actual.
Si la ventana se redimensiona verticalmente, las líneas de la lista de procesos/subprocesos se agregarán o eliminarán automáticamente.
En el modo interactivo, la salida de atop se puede controlar presionando teclas particulares. Sin embargo, también es posible especificar una clave como bandera en la línea de comando. En ese caso, atop cambia al modo indicado de antemano. Este modo se puede volver a modificar de forma interactiva. Especificar una clave como indicador es especialmente útil cuando se ejecuta atop con salida a una canalización o archivo (no interactivamente). Estas banderas son las mismas que las teclas que se pueden presionar en el modo interactivo (ver la sección COMANDOS INTERACTIVOS).
Hay indicadores adicionales disponibles para admitir el almacenamiento de datos superiores en formato sin procesar (consulte la sección ALMACENAMIENTO DE DATOS SIN PROCESAR).
Con cada intervalo, atop lee la administración del kernel para obtener información sobre todos los procesos en ejecución. Sin embargo, es probable que los procesos hayan terminado durante el intervalo. Estos procesos podrían haber consumido recursos del sistema durante este intervalo antes de que terminaran. Por lo tanto, atop intenta leer los registros contables de los procesos que contienen la información contable de los procesos terminados y reportar estos procesos también. Solo cuando se activa el mecanismo de contabilidad de procesos en el kernel, el kernel escribe dicho registro de contabilidad de procesos en un archivo para cada proceso que finaliza.
Hay varias formas para que atop obtenga acceso a los registros contables del proceso (probado en este orden):
Cuando se establece la variable de entorno ATOPACCT, especifica el nombre del archivo de contabilidad del proceso. En ese caso, la contabilidad de procesos para este archivo debería haberse activado de antemano. Antes de abrir este archivo para leerlo, atop elimina sus privilegios de root (si los tiene).
Cuando esta variable de entorno está presente pero su contenido está vacío, la contabilidad de procesos no se utilizará en absoluto.
¡Esta es la forma preferida de manejar registros contables de procesos!
Cuando el daemon atopacctd está activo, ha activado el mecanismo de contabilidad del proceso en el kernel y transfiere los registros contables originales a los archivos shadow. En ese caso, atop pierde sus privilegios de root y abre el archivo shadow actual para lectura.
Se prefiere esta forma, porque el daemon atopacctd mantiene el control total del tamaño del archivo de contabilidad del proceso original escrito por el kernel y los archivos shadow leídos por el proceso atop (es ).
El servicio atopacct se activará antes que el servicio atop para permitir que atop detecte que la contabilidad de procesos está gestionada por atopacctd demonio. Como servicio de bifurcación, atopacctd se encarga de que todos los directorios y archivos se inicialicen antes de que el proceso principal muera. El proceso hijo continúa como el proceso daemon.
Para obtener más información, consulte la página de manual de atopacctd.
Cuando el demonio atopacctd no está activo, atop verifica si el mecanismo de contabilidad de procesos se ha activado a través de psacct o acct< independientes. Paquete (el nombre del paquete depende de la distribución de Linux). En ese caso, uno de los archivos /var/log/pacct, /var/account/pacct o /var/log/account/pacct está en uso como archivo de contabilidad de procesos y arriba abre este archivo para lectura.
Como última posibilidad, el propio atop intenta activar el mecanismo de contabilidad de procesos (requiere privilegios de root) utilizando el archivo /var/cache/atop.d/atop.acct (para ser escrito por el kernel, para ser leído por arriba mismo). La contabilidad de procesos permanece activa mientras al menos un proceso superior esté activo. Cada vez que se detiene el último proceso atop (ya sea presionando 'q' o 'kill -15'), se desactiva nuevamente el mecanismo de contabilidad del proceso. Por lo tanto, nunca debe terminar atop con 'kill -9', porque entonces no tiene posibilidad de detener la contabilidad del proceso. Como resultado, el archivo de contabilidad puede consumir mucho espacio en disco después de un tiempo.
Para evitar que el archivo de contabilidad del proceso consuma demasiado espacio en disco, atop verifica al final de cada muestra si el tamaño del archivo de contabilidad del proceso supera los 200 MiB y si este atop El proceso es el único que actualmente está usando el archivo. En ese caso, el archivo se trunca a un tamaño de cero.
Tenga en cuenta que se requieren privilegios de root para activar/desactivar la contabilidad de procesos en el kernel. Puede iniciar atop como usuario root o especificar privilegios de setuid-root para el archivo ejecutable. En el último caso, atop activa la contabilidad de procesos y elimina los privilegios de root nuevamente.
Si atop no se ejecuta con privilegios de root, no muestra información sobre los procesos finalizados. Indica esta situación con el mensaje 'no procacct' en la esquina superior derecha (en lugar del contador que muestra el número de procesos finalizados).
Cuando durante un intervalo han finalizado muchos procesos, atop puede crecer enormemente en la memoria al leer todos los registros de contabilidad de procesos al final del intervalo. Para evitar un crecimiento tan excesivo, atop nunca leerá más de 50 MiB con información de proceso del archivo de contabilidad de procesos por intervalo (aprox. 54000 procesos terminados). En el modo interactivo, se da una advertencia cada vez que se saltan procesos por este motivo.
Para el consumo de recursos a nivel de sistema, atop utiliza colores en modo texto para indicar que se ha (casi) alcanzado un porcentaje crítico de ocupación. Un porcentaje de ocupación crítico significa que es probable que esta carga cause una influencia negativa notable en el rendimiento de las aplicaciones que utilizan este recurso. El porcentaje crítico depende del tipo de recurso: p. la influencia en el rendimiento de un disco con un porcentaje de ocupación del 80 % puede ser más notoria para las aplicaciones o los usuarios que una CPU con un porcentaje de ocupación del 90 %.
Actualmente, atop utiliza los siguientes valores predeterminados para calcular un porcentaje ponderado por recurso:
Un porcentaje ocupado del 90 % o superior se considera "crítico" (también en el modo de gráfico de barras).
Un porcentaje ocupado del 90 % o superior se considera "crítico".
Un porcentaje de ocupación del 90 % o superior para la carga de una interfaz se considera "crítico".
Un porcentaje de ocupación del 90% se considera 'crítico'. Tenga en cuenta que este porcentaje de ocupación es el consumo de memoria acumulado del kernel (incluido el slab) y todos los procesos. ¡La memoria para el caché de la página ('caché' y 'buff' en la línea MEM) y la parte recuperable de la losa ('slrec') no está implícita!
Si el número de páginas intercambiadas ("swout" en la línea PAG) es superior a 10 por segundo, el recurso de memoria se considera "crítico". Un valor de al menos 1 por segundo se considera 'casi crítico'.
Si la memoria virtual comprometida excede el límite ('vmcom' y 'vmlim' en la línea SWP), la línea SWP se colorea debido a la sobrecompromiso del sistema.
Un porcentaje de ocupación del 80% se considera 'crítico' porque el espacio de intercambio podría agotarse por completo en un futuro próximo. No es crítico desde el punto de vista del rendimiento.
Estos valores predeterminados se pueden modificar en el archivo de configuración (consulte la página de manual atoprc separada).
Cuando un recurso supera su porcentaje crítico de ocupación, los valores correspondientes en la línea de la pantalla se colorean de rojo de forma predeterminada.
Cuando un recurso supera (de forma predeterminada) el 80% de su porcentaje crítico (por lo que es casi crítico), los valores correspondientes en la línea de la pantalla se colorean de color cian de forma predeterminada. Este 'porcentaje casi crítico' (un valor para todos los recursos) también se puede modificar en el archivo de configuración (consulte la página de manual atoprc separada).
Los colores predeterminados, rojo y cian, también se pueden modificar en el archivo de configuración (consulte la página de manual atoprc separada).
Con la tecla 'x' (o bandera -x), se puede suprimir el uso de colores en modo texto. Sin embargo, el uso de colores es obligatorio en el caso del modo gráfico de barras.
La actividad de red por proceso y por subproceso se puede medir con el módulo del kernel netatop. Puede descargar este módulo del kernel del sitio web (mencionado al final de esta página del manual) e instalarlo en su sistema.
Cuando atop recopila contadores para un nuevo intervalo, verifica si el módulo netatop está actualmente activo. Si es así, atop obtiene los contadores de red relevantes de este módulo y muestra el número de paquetes enviados y recibidos por proceso/subproceso en la pantalla genérica. Además, se pueden solicitar contadores detallados presionando la tecla 'n'.
Cuando el demonio netatopd también se está ejecutando, atop también lee los contadores de red de los procesos finalizados registrados por este demonio (comparable con la contabilidad de procesos).
Se puede encontrar más información sobre el módulo kernel netatop opcional y el daemon netatopd en las páginas de manual correspondientes y en el sitio web mencionado al final de esta página del manual.
Las estadísticas de GPU se pueden recopilar mediante atopgpud, que es un proceso de daemon de recopilación de datos independiente. Reúne contadores de utilización acumulativos de cada GPU Nvidia en el sistema, así como contadores de utilización de cada proceso que utiliza una GPU. Cuando atop nota que el daemon está activo, lee estos contadores de uso de GPU en cada intervalo.
El demonio atopgpud está escrito en Python, por lo que se debe instalar un intérprete de Python en el sistema de destino. Para la recopilación de estadísticas, el daemon utiliza el módulo pynvml. Asegúrese de que este módulo esté instalado en el sistema de destino antes de activar el demonio, ejecutando el comando pip como usuario raíz:
pip instalar nvidia-ml-py
El daemon atopgpud se instala de forma predeterminada como parte del paquete atop, pero no está habilitado automáticamente. El daemon se puede habilitar e iniciar ahora ejecutando los siguientes comandos (como root):
systemctl habilitar atopgpu
systemctl comienza en topgpu
Encuentre una descripción sobre los contadores de utilización en la sección DESCRIPCIÓN DE SALIDA.
Cuando se ejecuta atop de forma interactiva (sin redirección de salida), se pueden presionar teclas para controlar la salida. En general, las teclas en minúsculas se pueden usar para mostrar otra información para los procesos activos, mientras que ciertas teclas en mayúsculas se pueden usar para influir en el orden de clasificación de la lista de subprocesos/procesos activos. Algunas de estas teclas también se pueden usar para cambiar del modo de gráfico de barras a información particular detallada del proceso en modo de texto.
Mostrar salida genérica (predeterminado).
Por proceso, se muestran los siguientes campos en el caso de un ancho de ventana de 80 posiciones: identificación del proceso, consumo de CPU durante el último intervalo en el modo de sistema y de usuario, el crecimiento de la memoria virtual y residente del proceso.
La transferencia de datos por proceso para lectura/escritura en disco solo se puede mostrar cuando atop se ejecuta con privilegios de root.
Cuando se carga el módulo del núcleo 'netatop', se muestra la transferencia de datos para enviar/recibir paquetes de red para cada proceso.
Las últimas columnas contienen el estado, el porcentaje de ocupación del recurso elegido (predeterminado: CPU) y el nombre del proceso.
Cuando hay más de 80 posiciones disponibles, se agrega otra información.
Muestra la salida relacionada con la memoria.
Por proceso, se muestran los siguientes campos en el caso de un ancho de ventana de 80 posiciones: identificación del proceso, fallas de memoria menores y mayores, tamaño del texto virtual compartido, tamaño total del proceso virtual, tamaño total del proceso residente, crecimiento virtual y residente durante el último intervalo , porcentaje de ocupación de memoria y nombre del proceso.
Cuando hay más de 80 posiciones disponibles, se agrega otra información.
Para el consumo de memoria, siempre se muestran todos los procesos (también los procesos que no estuvieron activos durante el intervalo).
Muestra la salida relacionada con el disco.
Cuando atop se ejecuta con privilegios de raíz, se muestran los siguientes campos: identificación del proceso, cantidad de datos leídos del disco, cantidad de datos escritos en el disco, cantidad de datos que se escribieron pero que se retiraron nuevamente ( WCANCL), porcentaje de ocupación del disco y nombre del proceso.
Mostrar salida relacionada con la red.
Por proceso, se muestran los siguientes campos en el caso de un ancho de ventana de 80 posiciones: ID de proceso, ID de hilo, ancho de banda total para paquetes recibidos, ancho de banda total para paquetes enviados, número de paquetes TCP recibidos con el tamaño promedio por paquete (en bytes), cantidad de paquetes TCP enviados con el tamaño promedio por paquete (en bytes), cantidad de paquetes UDP recibidos con el tamaño promedio por paquete (en bytes), cantidad de paquetes UDP enviados con el tamaño promedio por paquete (en bytes) , el porcentaje de ocupación de la red y el nombre del proceso.
Esta información solo se puede mostrar cuando está instalado el módulo del kernel 'netatop'.
Cuando hay más de 80 posiciones disponibles, se agrega otra información.
Mostrar características de programación.
Por proceso, se muestran los siguientes campos en el caso de un ancho de ventana de 80 posiciones: ID de proceso, número de subprocesos en estado 'en ejecución' (R), número de subprocesos en estado 'suspendido interrumpible' (S), número de subprocesos en estado 'sueño ininterrumpido' (D), política de programación (tiempo compartido normal, round-robin en tiempo real, fifo en tiempo real), buen valor, prioridad, prioridad en tiempo real, procesador actual, estado, código de salida, estado, porcentaje de ocupación para el recurso elegido y el nombre del proceso.
Cuando hay más de 80 posiciones disponibles, se agrega otra información.
Mostrar varias características del proceso.
Por proceso, se muestran los siguientes campos en el caso de una ventana de 80 posiciones de ancho: identificación del proceso, nombre de usuario y grupo, fecha y hora de inicio, estado (por ejemplo, código de salida si el proceso ha finalizado), estado, porcentaje de ocupación del recurso elegido y el nombre del proceso.
Cuando hay más de 80 posiciones disponibles, se agrega otra información.
Muestra la línea de comando del proceso.
Por proceso se muestran los siguientes campos: process-id, el porcentaje de ocupación para el recurso elegido y la línea de comando incluyendo argumentos.
Mostrar información de cgroup v2.
Por proceso se muestran los siguientes campos: id del proceso, 'cpu.weight' del cgroup al que pertenece el proceso, valor 'cpu.max' (recalculado como porcentaje) del cgroup al que pertenece el proceso, el más restrictivo 'cpu.max ' valor encontrado en los directorios superiores, valor 'memory.max' del cgroup al que pertenece el proceso, valor 'memory.max' más restrictivo encontrado en los directorios superiores, valor 'memory.swap.max' del cgroup al que pertenece el proceso a, el valor 'memory.swap.max' más restrictivo que se encuentra en los directorios superiores, el nombre del comando y el nombre de la ruta de cgroup (desplazable horizontalmente).
Mostrar la utilización de GPU.
Por proceso, se muestran al menos los siguientes campos: ID de proceso, rango de números de GPU en los que se ejecuta actualmente el proceso, porcentaje de ocupación de GPU en todas las GPU, porcentaje de memoria ocupada (es decir, accesos de lectura y escritura en la memoria) en todas las GPU, ocupación de memoria en el momento de la muestra, ocupación de memoria promedio durante la muestra y porcentaje de GPU.
Cuando el demonio atopgpud no se ejecuta con privilegios de raíz, el porcentaje de ocupación de la GPU y el porcentaje de ocupación de la memoria no están disponibles en el nivel de proceso. En ese caso, el porcentaje de GPU en el nivel de proceso refleja la ocupación de memoria de GPU en lugar del porcentaje de ocupación de GPU (que es el preferido).
Muestra la línea definida por el usuario del proceso.
En el archivo de configuración, la palabra clave ownprocline se puede especificar con la descripción de una línea de salida definida por el usuario.
Consulte la página del manual de atoprc para obtener una descripción detallada.
Mostrar los subprocesos individuales dentro de un proceso (alternar).
Los procesos de subproceso único todavía se muestran como una línea.
Para procesos de subprocesos múltiples, una línea representa el proceso mientras que las líneas adicionales muestran la actividad por subproceso individual (en un color diferente). Dependiendo de la opción 'a' (toggle all o active), se muestran todos los hilos o solo los hilos que estuvieron activos durante el último intervalo. Dependiendo de la opción 'Y' (ordenar subprocesos), los subprocesos por proceso se ordenarán según el criterio de clasificación elegido o no.
Si esta clave está activa o no, se puede ver en la línea de encabezado.
Ordene los subprocesos por proceso cuando se combina con la opción 'y' (alternar).
Muestra la actividad del proceso acumulada por usuario.
Se muestran los siguientes campos por usuario: número de procesos activos o terminados durante el último intervalo (o en total si se combina con el comando 'a'), consumo de CPU acumulado durante el último intervalo en el modo de sistema y de usuario, el espacio de memoria virtual y residente actual consumido por procesos activos (o todos los procesos del usuario si se combinan con el comando 'a').
Cuando atop se ejecuta con privilegios de raíz, se muestra el rendimiento acumulado de lectura y escritura en el disco. Cuando se ha instalado el módulo del núcleo 'netatop', se muestra el número acumulado de paquetes de red recibidos y enviados.
Las últimas columnas contienen el porcentaje de ocupación acumulado para el recurso elegido (predeterminado: CPU) y el nombre de usuario.
Muestra la actividad del proceso acumulada por programa (es decir, nombre del proceso).
Se muestran los siguientes campos por programa: número de procesos activos o terminados durante el último intervalo (o en total si se combina con el comando 'a'), consumo de CPU acumulado durante el último intervalo en el modo de sistema y de usuario, el espacio de memoria residente y virtual actual consumido por procesos activos (o todos los procesos del usuario si se combinan con el comando 'a').
Cuando atop se ejecuta con privilegios de raíz, se muestra el rendimiento acumulado de lectura y escritura en el disco. Cuando se ha instalado el módulo del núcleo 'netatop', se muestra el número acumulado de paquetes de red recibidos y enviados.
Las últimas columnas contienen el porcentaje de ocupación acumulado para el recurso elegido (predeterminado: CPU) y el nombre del programa.
Muestra la actividad del proceso acumulada por contenedor Docker.
Se muestran los siguientes campos por contenedor: número de procesos activos o terminados durante el último intervalo (o en total si se combina con el comando 'a'), consumo de CPU acumulado durante el último intervalo en el modo de sistema y de usuario, el espacio de memoria residente y virtual actual consumido por procesos activos (o todos los procesos del usuario si se combinan con el comando 'a').
Cuando atop se ejecuta con privilegios de raíz, se muestra el rendimiento acumulado de lectura y escritura en el disco. Cuando se ha instalado el módulo del núcleo 'netatop', se muestra el número acumulado de paquetes de red recibidos y enviados.
Las últimas columnas contienen el porcentaje de ocupación acumulado para el recurso elegido (predeterminado: CPU) y la identificación del contenedor Docker (CID).
Ordene la lista actual en orden de consumo de CPU (predeterminado). La penúltima columna cambia a 'CPU'.
Ordene la lista actual en el orden de uso de GPU (preferido, pero solo aplicable cuando el daemon atopgpud se ejecuta con privilegios de raíz) o el orden de ocupación de memoria de GPU). La penúltima columna cambia a 'GPU'.
Ordene la lista actual según el orden de consumo de memoria residente. La penúltima columna cambia a 'MEM'. En caso de ordenar en memoria, se mostrará la lista completa de procesos (no solo los procesos activos).
Ordene la lista actual en el orden de los accesos al disco emitidos. La penúltima columna cambia a 'DSK'.
Ordene la lista actual en el orden del ancho de banda de la red (recibido y transmitido). La penúltima columna cambia a 'NET'.
Ordene la lista actual automáticamente en el orden del recurso del sistema más ocupado durante este intervalo. La penúltima columna muestra 'ACPU', 'AMEM', 'ADSK' o 'ANET' (la 'A' anterior indica el orden de clasificación automático). El recurso más ocupado se determina comparando los porcentajes ponderados de ocupación de los recursos del sistema, como se describe anteriormente en la sección COLORES.
Esta opción sigue siendo válida hasta que se vuelva a seleccionar explícitamente otro orden de clasificación.
Un orden de clasificación para el disco solo es posible cuando atop se ejecuta con privilegios de root.
Un orden de clasificación para la red solo es posible cuando el módulo del kernel 'netatop' está cargado.
Varios comandos interactivos:
Solicitud de información de ayuda (también se puede pulsar la tecla 'h').
Solicitud de información de versión (número de versión y fecha).
Reúna y calcule el tamaño del conjunto proporcional de los procesos (alternar). La recopilación de todos los valores que se necesitan para calcular el PSIZE de un proceso es una tarea que requiere mucho tiempo, por lo que esta clave solo debe estar activa cuando se analiza el consumo de memoria residente de los procesos.
Obtenga el WCHAN por subproceso (alternar). La recopilación de la cadena WCHAN por subproceso es una tarea relativamente lenta, por lo que esta clave solo debe activarse cuando se analiza el motivo por el cual los subprocesos están en estado de suspensión.
Suprimir colores para resaltar recursos críticos (alternar).
Si esta clave está activa o no, se puede ver en la línea de encabezado.
La tecla de pausa se puede utilizar para congelar la situación actual con el fin de investigar la salida en la pantalla. Mientras atop está en pausa, las teclas descritas anteriormente se pueden presionar para mostrar otra información sobre la lista actual de procesos. Cada vez que se vuelva a pulsar la tecla de pausa, encima continuará con una muestra siguiente.
La tecla de pausa se puede utilizar en el modo de texto y en el modo de gráfico de barras.
Modificar el temporizador de intervalos (predeterminado: 10 segundos). Si se ingresa un temporizador de intervalos de 0, el temporizador de intervalos se apaga. En ese caso, una nueva muestra solo se puede activar manualmente presionando la tecla 't'.
El intervalo se puede modificar en modo texto y en modo gráfico de barras.
Active una nueva muestra manualmente. Esta tecla se puede presionar si la muestra actual se debe terminar antes de que se exceda el temporizador, o si no se ha configurado ningún temporizador (temporizador de intervalo definido como 0). En este último caso, atop se puede utilizar como un cronómetro para medir la carga que está causando una determinada transacción de la aplicación, sin saber de antemano cuántos segundos durará esta transacción.
Esta tecla se puede utilizar en el modo de texto y en el modo de gráfico de barras.
Al ver el contenido de un archivo sin procesar, esta tecla se puede usar para mostrar la siguiente muestra del archivo. Esta clave también se puede usar al ver datos sin procesar a través de una tubería.
Al ver el contenido de un archivo sin procesar, esta clave se puede usar para mostrar la muestra anterior del archivo, pero no cuando se leen datos sin procesar de una tubería.
Esta tecla se puede utilizar en el modo de texto y en el modo de gráfico de barras.
Al ver el contenido de un archivo sin procesar, esta clave se puede usar para pasar a una determinada marca de tiempo dentro del archivo, ya sea hacia adelante o hacia atrás. Cuando se visualizan datos sin procesar de una tubería, solo son posibles las bifurcaciones hacia adelante.
Esta tecla se puede utilizar en el modo de texto y en el modo de gráfico de barras.
Restablezca todos los contadores a cero para ver el sistema y la actividad del proceso desde que se inició de nuevo.
Esta tecla se puede utilizar en el modo de texto y en el modo de gráfico de barras.
Al ver el contenido de un archivo sin procesar, esta tecla se puede usar para retroceder al principio del archivo nuevamente (excepto cuando se leen datos sin procesar de una tubería).
Especifique una cadena de búsqueda para nombres de usuario específicos como una expresión regular. A partir de ahora, solo se mostrarán los procesos (activos) de un usuario que coincida con la expresión regular. Las estadísticas del sistema siguen siendo de todo el sistema. Si se presiona la tecla Enter sin especificar un nombre, los procesos (activos) de todos los usuarios se mostrarán nuevamente.
Si esta clave está activa o no, se puede ver en la línea de encabezado.
Especifique una lista con uno o más PID para seleccionar. De ahora en adelante, solo se mostrarán los procesos con un PID que coincida con uno de la lista dada. Las estadísticas del sistema siguen siendo de todo el sistema. Si se presiona la tecla Enter sin especificar un PID, todos los procesos (activos) se mostrarán nuevamente.
Si esta clave está activa o no, se puede ver en la línea de encabezado.
Especifique una cadena de búsqueda para nombres de procesos específicos como una expresión regular. A partir de ahora, solo se mostrarán los procesos con un nombre que coincida con la expresión regular. Las estadísticas del sistema siguen siendo de todo el sistema. Si se presiona la tecla Enter sin especificar un nombre, todos los procesos (activos) se mostrarán nuevamente.
Si esta clave está activa o no, se puede ver en la línea de encabezado.
Especifique una cadena de búsqueda de línea de comando específica como una expresión regular. De ahora en adelante, solo los procesos se mostrarán con una línea de comando que coincida con la expresión regular. Las estadísticas del sistema siguen siendo de todo el sistema. Si se presiona la tecla Intro sin especificar una cadena, todos los procesos (activos) se mostrarán nuevamente.
Si esta clave está activa o no, se puede ver en la línea de encabezado.
Especifique un ID de contenedor de Docker de 12 caracteres (hexadecimales). A partir de ahora, solo se mostrarán los procesos que se ejecutan en ese contenedor Docker (CID) específico. Las estadísticas del sistema siguen siendo de todo el sistema. Si se presiona la tecla Intro sin especificar una identificación de contenedor, todos los procesos (activos) se mostrarán nuevamente.
Si esta clave está activa o no, se puede ver en la línea de encabezado.
Especifique una lista separada por comas de caracteres de estado de proceso/subproceso. A partir de ahora, solo se mostrarán los procesos/subprocesos que se encuentren en esos estados específicos. Los estados aceptados son: R (en funcionamiento), S (dormido), D (disco inactivo), I (inactivo), T (detenido), t (detención de rastreo), X (muerto), Z (zombie) y P (estacionado) . Las estadísticas del sistema siguen siendo de todo el sistema. Si se presiona la tecla Intro sin especificar un estado, todos los procesos/subprocesos (activos) se mostrarán nuevamente.
Si esta clave está activa o no, se puede ver en la línea de encabezado.
Especifique cadenas de búsqueda para nombres de volúmenes lógicos específicos, nombres de discos específicos y nombres de interfaces de red específicos. Todas las cadenas de búsqueda se interpretan como expresiones regulares. A partir de ahora, solo se mostrarán los recursos del sistema que coincidan con la expresión regular correspondiente. Si se presiona la tecla Intro sin especificar una cadena de búsqueda, todos los recursos del sistema (activos) de ese tipo se mostrarán nuevamente.
Si esta clave está activa o no, se puede ver en la línea de encabezado.
La tecla 'todos/activos' se puede usar para alternar entre solo mostrar/acumular los procesos que estuvieron activos durante el último intervalo (predeterminado) o mostrar/acumular todos los procesos.
Si esta clave está activa o no, se puede ver en la línea de encabezado.
De forma predeterminada, atop muestra/acumula los procesos que están vivos y los procesos que se cerraron durante el último intervalo. Con esta tecla (alternar), se puede suprimir la visualización/acumulación de los procesos que se han salido.
Si esta clave está activa o no, se puede ver en la línea de encabezado.
Muestra un número fijo (máximo) de líneas de encabezado para los recursos del sistema (alternar). De forma predeterminada, solo se muestran las líneas sobre los recursos del sistema (CPU, paginación, volúmenes lógicos, discos, interfaces de red) que realmente han estado activos durante el último intervalo. Con esta tecla, también puede forzar a atop a mostrar líneas de recursos inactivos.
Si esta clave está activa o no, se puede ver en la línea de encabezado.
Suprimir la clasificación de los recursos del sistema (alternar). De forma predeterminada, los recursos del sistema (CPU, volúmenes lógicos, discos, interfaces de red) se ordenan según su utilización.
Si esta clave está activa o no, se puede ver en la línea de encabezado.
Mostrar contadores relevantes como un promedio por segundo (en el formato '..../s') en lugar de como un total durante el intervalo (alternar).
Si esta clave está activa o no, se puede ver en la línea de encabezado.
Limite el número de líneas de nivel de sistema para los contadores por CPU, los discos activos y las interfaces de red. Por defecto, se muestran líneas de todas las CPU, discos e interfaces de red que han estado activas durante el último intervalo. Limitar estas líneas puede ser útil en sistemas con una gran cantidad de CPU, discos o interfaces para poder ejecutar arriba en una pantalla/ventana con, p. sólo 24 líneas.
Para todos los recursos mencionados, el número máximo de líneas se puede especificar de forma interactiva. Cuando se usa el indicador -l, el número máximo de líneas por CPU se establece en 0, el número máximo de líneas de disco en 5 y el número máximo de líneas de interfaz en 3. Estos valores se pueden modificar nuevamente. en modo interactivo.
Enviar una señal a un proceso activo (también conocido como matar un proceso).
Salga del programa.
Esta tecla se puede utilizar en el modo de texto y en el modo de gráfico de barras.
Muestra la página siguiente de la lista de procesos/subprocesos.
Con la tecla de flecha hacia abajo, la lista se puede desplazar hacia abajo con líneas individuales.
Muestra la página siguiente de la lista de procesos/subprocesos (hacia adelante).
Con la tecla de flecha hacia abajo, la lista se puede desplazar hacia abajo con líneas individuales.
Muestra la página anterior de la lista de procesos/subprocesos.
Con la tecla de flecha hacia arriba, la lista se puede desplazar hacia arriba con líneas individuales.
Muestra la página anterior de la lista de procesos/subprocesos (hacia atrás).
Con la tecla de flecha hacia arriba, la lista se puede desplazar hacia arriba con líneas individuales.
Vuelva a dibujar la pantalla.
Con el fin de almacenar estadísticas a nivel de sistema y proceso para análisis a largo plazo (por ejemplo, para verificar la carga del sistema y los procesos activos que se ejecutaron ayer entre las 3:00 y las 4:00 p. m.), atop puede almacenar el sistema y estadísticas de nivel de proceso en formato binario comprimido en un archivo sin formato con el indicador -w seguido del nombre del archivo. Si este archivo ya existe y se reconoce como un archivo de datos sin procesar, atop agregará nuevas muestras al archivo (comenzando con una muestra que refleja la actividad desde el inicio). Si el archivo no existe, se creará.
Toda la información sobre el sistema, los procesos y la actividad de subprocesos se almacena en el archivo sin formato.
El intervalo (predeterminado: 10 segundos) y el número de muestras (predeterminado: infinito) se pueden pasar como últimos argumentos. En lugar del número de muestras, se puede usar la bandera -S para indicar que atop debe terminar antes de la medianoche.
Un archivo sin procesar se puede leer y visualizar de nuevo con el indicador -r seguido del nombre del archivo. Si no se especifica ningún nombre de archivo, el archivo /var/log/atop/atop_YYYYMMDD se abre para la entrada (donde YYYYMMDD son dígitos que representan el actual fecha). Si se especifica un nombre de archivo en el formato AAAAMMDD (que representa cualquier fecha válida), se abre el archivo /var/log/atop/atop_AAAAMMDD. Si se especifica un nombre de archivo con el nombre simbólico y, se abre el archivo de registro diario de ayer (esto se puede repetir para que 'yyyy' indique el archivo de registro de hace cuatro días). Si se usa el nombre de archivo -, se leerá la entrada estándar.
Las muestras del archivo se pueden ver de forma interactiva utilizando la tecla 't' para mostrar la siguiente muestra, la tecla 'T' para mostrar la muestra anterior, la tecla 'b' para pasar a un momento determinado o la tecla 'r' para rebobinar hasta el comienzo del archivo. Estas teclas se pueden utilizar tanto en modo texto como en modo gráfico de barras.
Cuando la salida se redirige a un archivo o tubería, atop imprime todas las muestras en ASCII simple. La longitud de línea predeterminada es de 80 caracteres en ese caso. Con la bandera -L seguida de una longitud de línea alternativa, se mostrarán más (o menos) columnas.
Con el indicador -b (hora de inicio) y/o -e (hora de finalización) seguido de un argumento de tiempo de la forma [AAAAMMDD]hhmm, un cierto período de tiempo dentro se puede seleccionar el archivo sin formato.
Todos los días a medianoche atop se reinicia mediante los archivos de unidad atop-rotate.timer y atop-rotate.service, para escribir datos binarios comprimidos en el archivo /var/log/atop/atop_YYYYMMDD con un intervalo de 10 minutos por defecto.
Además, se eliminan todos los archivos sin formato que tengan más de 28 días (de forma predeterminada).
Los valores predeterminados mencionados se pueden anular en el archivo /etc/default/atop que podría contener otros valores para LOGOPTS (de forma predeterminada sin ningún indicador), LOGINTERVAL< (en segundos, de forma predeterminada 600), LOGGENERATIONS (en días, de forma predeterminada 28) y LOGPATH (directorio en el que se almacenan los archivos de registro).
Desafortunadamente, no siempre es posible mantener el formato de los archivos sin formato compatible en las versiones más recientes de atop, especialmente cuando se deben mantener muchos contadores nuevos. Por lo tanto, el programa atopconvert se instala para convertir un archivo sin formato creado por una versión anterior de atop en un archivo sin formato que puede leer una versión más nueva de atop (consulte la página del manual de atopconvert para obtener más detalles).
El primer ejemplo muestra la actividad a nivel del sistema desde el arranque (el tiempo transcurrido en el encabezado muestra el tiempo desde el arranque).
En el modo de texto, arriba muestra primero las líneas relacionadas con la actividad a nivel del sistema para cada muestra. Si un recurso del sistema en particular no se ha utilizado durante el intervalo, se suprime toda la línea relacionada con este recurso. Por lo tanto, la cantidad de líneas de nivel del sistema puede variar para cada muestra.
Después de eso, se muestra una lista de los procesos que han estado activos durante el último intervalo. Esta lista está ordenada por consumo de CPU de forma predeterminada, pero este orden puede cambiarse mediante las claves que se describen anteriormente.
Si los valores deben mostrarse por arriba que no caben en el ancho de la columna, se utiliza otro formato. Si por ej. un consumo de CPU de 233216 milisegundos debe mostrarse en un ancho de columna de 4 posiciones, se muestra como '233s' (en segundos). Para cifras de memoria grandes, se elige otra unidad si el valor no encaja (Mb en lugar de Kb, Gb en lugar de Mb, Tb en lugar de Gb, etcétera). Para otros valores, se utiliza una especie de notación exponencial (el valor 123456789 que se muestra en una columna de 5 posiciones da 123e6).
La información a nivel del sistema en modo texto consta de las siguientes líneas de salida:
Totales de nivel de proceso y subproceso.
Esta línea contiene el tiempo total de CPU consumido en modo sistema ('sys') y en modo usuario ('usuario'), el número total de procesos presentes en este momento ('#proc'), el número total de subprocesos presentes en este momento en estado 'running' ('#trun'), 'dormir interrumpible' ('#tslpi') y 'dormir ininterrumpible' ('#tslpu'), el número de procesos zombie ('#zombie'), el número de clonar llamadas al sistema ('clones') y la cantidad de procesos que terminaron durante el intervalo ('#exit') cuando se usa la contabilidad de procesos. En lugar de '#exit', la última columna puede indicar que no se pudo activar la contabilidad de procesos ('no procacct').
Si el ancho de la pantalla no permite todos estos contadores, solo se muestra un subconjunto relevante.
Utilización de la CPU.
Se muestra al menos una línea para la ocupación total de todas las CPU juntas.
En el caso de un sistema multiprocesador, se muestra una línea adicional para cada procesador individual (con 'cpu' en minúsculas), ordenados por actividad. Las CPU inactivas no se mostrarán de forma predeterminada. Las líneas que muestran la ocupación por CPU contienen el número de CPU en el campo combinado con el porcentaje de espera.
Cada línea contiene el porcentaje de tiempo de CPU consumido en modo kernel por todos los procesos activos ('sys'), el porcentaje de tiempo de CPU consumido en modo usuario ('usuario') para todos los procesos activos (incluidos los procesos que se ejecutan con un valor agradable mayor que cero), el porcentaje de tiempo de CPU dedicado al manejo de interrupciones ("irq"), incluido softirq, el porcentaje de tiempo de CPU no utilizado mientras no había procesos esperando E/S de disco ("inactivo"), y el porcentaje de tiempo de CPU no utilizado mientras al menos un proceso estaba esperando E/S de disco ('esperar').
En caso de ocupación por CPU, el número de CPU y el porcentaje de espera ('w') para esa CPU. Se puede limitar el número de líneas que muestran la ocupación por CPU.
Para las máquinas virtuales, el porcentaje de robo ("robo") muestra el porcentaje de tiempo de CPU robado por otras máquinas virtuales que se ejecutan en el mismo hardware.
Para las máquinas físicas que alojan una o más máquinas virtuales, el porcentaje de invitado ("invitado") muestra el porcentaje de tiempo de CPU utilizado por las máquinas virtuales. ¡Observe que este porcentaje se superpone al porcentaje de usuarios!
Cuando los contadores de monitoreo de rendimiento de PMC son compatibles con la CPU y el kernel (y atop se ejecuta con privilegios de root), se muestra la cantidad de instrucciones por ciclo de CPU ("ipc"). La primera muestra siempre muestra el valor 'inicial', porque los contadores se activan justo en el momento en que se inicia atop.
Cuando el porcentaje de ocupación de la CPU es alto y el IPC es inferior a 1,0, es probable que la CPU espere con frecuencia el acceso a la memoria durante la ejecución de instrucciones (cachés de CPU más grandes o una memoria más rápida pueden ser útiles para mejorar el rendimiento). ). Cuando el porcentaje de ocupación de la CPU es alto y el IPC es superior a 1,0, es probable que la CPU esté sujeta a instrucciones (más núcleos/más rápidos pueden ser útiles para mejorar el rendimiento).
Además, por CPU se muestra el número efectivo de ciclos ('cicl'). Este valor puede alcanzar la frecuencia actual de la CPU si dicha CPU está ocupada al 100 %. Cuando se detiene una CPU inactiva, el número de ciclos efectivos puede ser (considerablemente) inferior a la frecuencia actual.
Observe que las instrucciones promedio por ciclo y el número de ciclos se muestran en la línea de CPU para todas las CPU.
Tenga en cuenta que la lectura del contador de ciclos en máquinas virtuales (invitados) puede generar retrasos en el rendimiento. Por lo tanto, esta métrica está deshabilitada de forma predeterminada en las máquinas virtuales. Sin embargo, con la palabra clave 'perfevents' en el archivo atoprc, esta métrica se puede establecer explícitamente en 'habilitar' o 'deshabilitar' (consulte la página de manual separada de atoprc).
Consulte también: http://www.brendangregg.com/blog/2017-05-09/cpu-utilization-is-wrong.html
En caso de escalado de frecuencia, todos los porcentajes de CPU mencionados anteriormente son relativos al escalado de CPU utilizado durante el intervalo. Si una CPU ha estado activa durante, p. 50 % en modo de usuario durante el intervalo, mientras que la escala de frecuencia de esa CPU era del 40 %, solo se ha utilizado el 20 % de la capacidad total de la CPU en modo de usuario.
En caso de que el módulo del kernel 'cpufreq_stats' esté activo (después de emitir 'modprobe cpufreq_stats'), la frecuencia promedio ('avgf') y el porcentaje de escalado promedio ('avgscal ') se muestra. De lo contrario, la frecuencia actual ('curf') y el porcentaje de escalado actual ('curscal') se muestran en el momento en que se toma la muestra. Tenga en cuenta que los valores promedio de frecuencia y escala se muestran en la línea de CPU para cada CPU.
Las estadísticas de escalado de frecuencia solo se recopilan para sistemas con un máximo de 8 CPU, ya que la recopilación de estos valores por CPU lleva mucho tiempo.
Si el ancho de la pantalla no permite todos estos contadores, solo se muestra un subconjunto relevante.
Información de carga de la CPU.
Esta línea contiene las cifras promedio de carga que reflejan la cantidad de subprocesos que están disponibles para ejecutarse en una CPU (es decir, parte de la cola de ejecución) o que están esperando la E/S del disco. Estas cifras se promedian en 1 ('avg1'), 5 ('avg5') y 15 ('avg15') minutos.
Además, se muestra el número de cambios de contexto ('csw'), el número de interrupciones atendidas ('intr') y el número de CPU disponibles.
Si el ancho de la pantalla no permite todos estos contadores, solo se muestra un subconjunto relevante.
Uso de GPU (Nvidia).
Lea la sección RECOPILACIÓN DE ESTADÍSTICAS DE GPU en este documento para encontrar los detalles sobre la activación del daemon atopgpud.
En la primera columna de cada línea, se muestran el bus-id (últimos nueve caracteres) y el número de GPU. Las columnas siguientes muestran el porcentaje de tiempo que uno o más núcleos se ejecutaron en la GPU ('gpubusy'), el porcentaje de tiempo que se leyó o escribió la memoria global (dispositivo) ('membusy'), el porcentaje de ocupación de la memoria ('memocc'), la memoria total ('total'), la memoria en uso en el momento de la muestra ('used'), la memoria promedio en uso durante el tiempo de la muestra ('usavg'), el número de procesos que están activos en la GPU en el momento de la muestra ('#proc'), y el tipo de GPU.
Si el ancho de la pantalla no permite todos estos contadores, solo se muestra un subconjunto relevante.
El número de líneas que muestran las GPU puede ser limitado.
Ocupación de memoria (dos líneas).
Estas líneas contienen la cantidad total de memoria física ('tot'), la cantidad de memoria que está actualmente libre ('free'), la cantidad de memoria en uso como caché de página, incluida la memoria compartida residente total ('cache'), la cantidad de memoria dentro de la memoria caché de la página que debe vaciarse en el disco ('sucia'), la cantidad de memoria utilizada para los metadatos del sistema de archivos ('buff'), la cantidad de memoria utilizada para kernel mallocs ('losa') , la cantidad de memoria slab recuperable ("slrec"), el tamaño residente de la memoria compartida, incluido tmpfs ("shmem"), el tamaño residente de la memoria compartida ("shrss"), la cantidad de memoria compartida que se intercambia actualmente ( 'shswp'), la cantidad de memoria que se usa actualmente para las tablas de páginas ('pgtab'), la cantidad de nodos NUMA en este sistema ('numnode'), la cantidad de memoria que reclama actualmente el controlador de globos de vmware (' vmbal'), la cantidad de memoria que reclama actualmente el ARC (caché) de ZFSonlinux ('zfarc'), la cantidad de memoria que reclama para páginas grandes ('hptot'), la cantidad de memoria de página enorme que realmente en uso ('hpuse'), la cantidad de memoria que se usa para los sockets TCP ('tcps') y la cantidad de memoria que se usa para los sockets UDP ('udps').
Si el ancho de la pantalla no permite todos estos contadores, solo se muestra un subconjunto relevante.
Intercambiar información de ocupación y compromiso excesivo.
Esta línea contiene la cantidad total de espacio de intercambio en el disco ('tot'), la cantidad de espacio de intercambio libre ('gratis'), el tamaño de la caché de intercambio ('swcac'), el tamaño total del almacenamiento comprimido en zswap ( 'zpool'), el tamaño total de las páginas comprimidas almacenadas en zswap ('zstor'), el tamaño total de la memoria utilizada para KSM ('ksuse', es decir, compartida) y el tamaño total de la memoria guardada (desduplicada) por KSM ('kssav', es decir, compartir).
Además, se muestra el espacio de memoria virtual comprometido ('vmcom') y el límite máximo del espacio comprometido ('vmlim', que es el tamaño de intercambio predeterminado más el 50% del tamaño de la memoria). El espacio comprometido es el espacio virtual reservado para todas las asignaciones de espacio de memoria privada para procesos. El núcleo solo verifica si el espacio comprometido excede el límite si se configura un manejo estricto de sobreasignación (vm.overcommit_memory es 2).
Caché de último nivel de información de la CPU.
Esta línea contiene el ancho de banda de memoria total de LLC ('tot'), el ancho de banda del nodo NUMA local ('loc') y el porcentaje de LLC en uso ('LLCXX YY%').
Tenga en cuenta que esta característica depende del pseudo sistema de archivos 'resctrl'. Asegúrese de que el kernel esté construido con la configuración relevante y tenga cuidado de que el pseudo-sistema de archivos esté montado:
mount -t resctrl resctrl -o mba_MBps /sys/fs/resctrl (en Intel)
mount -t resctrl resctrl -o cdp /sys/fs/resctrl (en AMD)
Utilización de memoria por nodo NUMA (no se muestra para un solo nodo NUMA).
Esta línea muestra la cantidad total de memoria física de este nodo ('tot'), la cantidad de memoria libre ('free'), la cantidad de memoria para datos de archivos en caché ('file'), datos de archivos en caché modificados ('dirty '), memoria utilizada recientemente ('activ'), memoria utilizada menos recientemente ('inact'), memoria utilizada para kernel mallocs ('slab'), la cantidad de memoria slab recuperable ('slrec'), memoria compartida incluyendo tmpfs ('shmem'), páginas enormes totales ('hptot') y el porcentaje de fragmentación ('frag').
Utilización de CPU por nodo NUMA (no se muestra para un solo nodo NUMA).
Esta línea muestra los porcentajes de utilización de todas las CPU relacionadas con este nodo NUMA, clasificados por modo de sistema ('sys'), modo de usuario ('user'), modo de usuario para procesos mejorados ('niced'), modo inactivo ('idle' ), modo de espera ('w' precedido por el número de nodo), modo irq ('irq'), modo softirq ('sirq'), modo robo ('steal') y modo invitado ('guest') modo de usuario superpuesto .
Frecuencia de paginación.
Esta línea contiene el número de páginas escaneadas ("escanear") debido al hecho de que la memoria libre cae por debajo de un umbral particular, el número de páginas recuperadas ("robar") debido al hecho de que la memoria libre cae por debajo de un umbral particular, la número de veces que el kernel intenta recuperar páginas debido a una necesidad urgente ('bloqueo'), el número de bloqueos de procesos para ejecutar la compactación de memoria para asignar páginas grandes ('compacto'), el número de páginas NUMA migradas ('numamig') y el número total de páginas de memoria migradas correctamente, p. entre nodos NUMA o para compactación ("migrar").
También el número de páginas de memoria que el sistema leyó de los dispositivos de bloque ('pgin'), el número de páginas de memoria que el sistema escribió en los dispositivos de bloque ('pgout'), el número de páginas de memoria que el sistema leyó del espacio de intercambio ('swin' ), la cantidad de páginas de memoria que el sistema escribió en el espacio de intercambio ('swout') y la cantidad de eliminaciones por falta de memoria ('oomkill').
Información de pérdida de presión.
Esta línea contiene porcentajes sobre la presión de recursos relacionada con la CPU, la memoria y la E/S. Ciertos porcentajes se refieren a 'algunos', lo que significa que algunos procesos/subprocesos se retrasaron debido a una sobrecarga de recursos. Otros porcentajes se refieren a "completo", lo que significa una pérdida de rendimiento general debido a la sobrecarga de recursos.
Los valores 'cpusome', 'memsome', 'memfull', 'iosome' y 'iofull' muestran el porcentaje de presión durante todo el intervalo.
Los valores 'cs' (alguna CPU), 'ms' (alguna memoria), 'mf' (memoria llena), 'is' (alguna E/S) y 'if' (alguna E/S) muestran tres porcentajes separados por barras: porcentaje de presión en los últimos 10, 60 y 300 segundos.
Volumen lógico/dispositivo múltiple/utilización de disco.
Por unidad activa se produce una línea, ordenada por actividad unitaria. Dicha línea muestra el nombre (por ejemplo, VolGroup00-lvtmp para un volumen lógico o sda para un disco duro), el porcentaje de tiempo transcurrido durante el cual se emitieron solicitudes de E/S al dispositivo ("ocupado") (tenga en cuenta que para dispositivos que atienden solicitudes en paralelo, como arreglos RAID, SSD y NVMe, este número no refleja sus límites de rendimiento), el número de solicitudes de lectura emitidas ("read"), el número de solicitudes de escritura emitidas ("write"), el número de descartes solicitudes emitidas ('discrd') si es compatible con la versión del kernel, el número de KiBytes por lectura ('KiB/r'), el número de KiBytes por escritura ('KiB/w'), el número de KiBytes por descarte ('KiB /d') si es compatible con la versión del kernel, la cantidad de MiBytes por segundo de rendimiento para lecturas ('MBr/s'), la cantidad de MiBytes por segundo de rendimiento para escrituras ('MBw/s'), las solicitudes emitidas al controlador del dispositivo pero no completada ('inflt'), la profundidad promedio de la cola mientras está ocupada ('avq') y la cantidad promedio de milisegundos que necesita una solicitud ('avio') para búsqueda, latencia y transferencia de datos.
Si el ancho de la pantalla no permite todos estos contadores, solo se muestra un subconjunto relevante.
El número de líneas que muestran las unidades se puede limitar por clase (LVM, MDD o DSK) con la tecla 'l' o estáticamente (consulte la página de manual separada de atoprc). Al especificar el valor 0 para una clase en particular, no se mostrarán más líneas para esa clase.
Sistema de archivos de red (NFS) montado en el lado del cliente.
Para cada sistema de archivos montado en NFS, se muestra una línea que contiene el directorio del servidor montado, el nombre del servidor ('srv'), la cantidad total de bytes leídos físicamente del servidor ('leer') y la cantidad total de bytes escrito físicamente en el servidor ("escribir"). La transferencia de datos se subdivide en el número de bytes leídos a través de llamadas al sistema read() normales ('nread'), el número de bytes escritos a través de llamadas al sistema read() normales ('nwrit'), el número de bytes leídos a través de I/ O ('dread'), el número de bytes escritos a través de E/S directa ('dwrit'), el número de bytes leídos a través de páginas de E/S mapeadas en memoria ('mread') y el número de bytes escritos a través de memoria mapeada Páginas de E/S ('mwrit').
Contadores del lado del cliente del sistema de archivos de red (NFS).
Esta línea contiene el número de llamadas RPC emitidas por procesos locales ('rpc'), el número de llamadas RPC de lectura ('read') y llamadas RPC de escritura ('rpwrite') emitidas al servidor NFS, el número de llamadas RPC que se retransmitido ('retxmit') y el número de actualizaciones de autorización ('autref').
Contadores del lado del servidor Network Filesystem (NFS).
Esta línea contiene el número de llamadas RPC recibidas de clientes NFS ('rpc'), el número de llamadas RPC de lectura recibidas ('cread'), el número de llamadas RPC de escritura recibidas ('cwrit'), el número de Megabytes/segundo devueltas a las solicitudes de lectura de los clientes ('MBcr/s'), la cantidad de Megabytes/segundo pasados en las solicitudes de escritura de los clientes ('MBcw/s'), la cantidad de solicitudes de red manejadas a través de TCP ('nettcp'), la cantidad de solicitudes de red manejadas a través de UDP ('netudp'), la cantidad de aciertos de caché de respuesta ('rchits'), la cantidad de errores de caché de respuesta ('rcmiss') y la cantidad de solicitudes no almacenadas en caché ('rcnoca'). Además, algunos contadores de errores que indican el número de solicitudes con un formato incorrecto ('badfmt') o una autorización incorrecta ('badaut'), y un contador que indica el número de clientes incorrectos ('badcln').
Utilización de la red (TCP/IP).
Se muestra una línea para la actividad de la capa de transporte (TCP y UDP), una línea para la capa IP y una línea por interfaz activa.
Para la capa de transporte, se muestran contadores sobre el número de segmentos TCP recibidos, incluidos los recibidos por error ('tcpi'), el número de segmentos TCP transmitidos, excluidos los que contienen solo octetos retransmitidos ('tcpo'), el número de datagramas UDP recibidos ('udpi'), el número de datagramas UDP transmitidos ('udpo'), el número de aperturas TCP activas ('tcpao'), el número de aperturas TCP pasivas ('tcppo'), el número de retransmisiones de salida TCP (' tcprs'), el número de errores de entrada TCP ('tcpie'), el número de restablecimientos de salida TCP ('tcpor'), el número de puertos UDP sin puertos ('udpnp') y el número de errores de entrada UDP ('udpie ').
Si el ancho de la pantalla no permite todos estos contadores, solo se muestra un subconjunto relevante.
Estos contadores están relacionados con IPv4 e IPv6 combinados.
Para la capa IP, se muestran contadores relativos a la cantidad de datagramas IP recibidos de las interfaces, incluidos los recibidos por error ('ipi'), la cantidad de datagramas IP que los protocolos locales de capa superior ofrecieron para la transmisión ('ipo'), la la cantidad de datagramas IP recibidos que se reenviaron a otras interfaces ("ipfrw"), la cantidad de datagramas IP que se entregaron a protocolos locales de capa superior ("entrega"), la cantidad de datagramas ICMP recibidos ("icmpi"), y el número de datagramas ICMP transmitidos ('icmpo').
Si el ancho de la pantalla no permite todos estos contadores, solo se muestra un subconjunto relevante.
Estos contadores están relacionados con IPv4 e IPv6 combinados.
Para cada interfaz de red activa, se muestra una línea, ordenada según la actividad de la interfaz. Dicha línea muestra el nombre de la interfaz y su porcentaje de ocupación en la primera columna. El porcentaje de ocupado para semidúplex se determina comparando la velocidad de la interfaz con el número de bits transmitidos y recibidos por segundo; para el dúplex completo, la velocidad de la interfaz se compara con la más alta de los bits transmitidos o recibidos. Cuando no se puede determinar la velocidad de la interfaz (por ejemplo, para la interfaz de bucle invertido), se muestra '---' en lugar del porcentaje.
Además, el número de paquetes recibidos ('pcki'), el número de paquetes transmitidos ('pcko'), la velocidad de línea de la interfaz ('sp'), la cantidad efectiva de bits recibidos por segundo ('si'), la cantidad efectiva de bits transmitidos por segundo ('so'), el número de colisiones ('coll'), el número de paquetes de multidifusión recibidos ('mlti'), el número de errores al recibir un paquete ('erri'), el número de errores al transmitir un paquete ('erro'), el número de paquetes recibidos descartados ('drpi') y el número de paquetes transmitidos descartados ('drpo').
Si el ancho de la pantalla no permite todos estos contadores, solo se muestra un subconjunto relevante.
El número de líneas que muestran las interfaces de red puede ser limitado.
Utilización de Infiniband.
Por cada puerto Infiniband activo se muestra una línea, ordenada por actividad. Dicha línea muestra el nombre del puerto y su porcentaje de ocupación en la primera columna. El porcentaje de ocupación se determina tomando el mayor de los bits transmitidos o recibidos durante el intervalo, multiplicando ese valor por el número de carriles y comparándolo con la velocidad máxima del puerto.
Además, el número de paquetes recibidos dividido por el número de carriles ('pcki'), el número de paquetes transmitidos dividido por el número de carriles ('pcko'), la velocidad máxima de línea ('sp'), la cantidad efectiva de bits recibidos por segundo ('si'), la cantidad efectiva de bits transmitidos por segundo ('so') y el número de carriles ('lanes').
Si el ancho de la pantalla no permite todos estos contadores, solo se muestra un subconjunto relevante.
El número de líneas que muestran los puertos Infiniband puede ser limitado.
A continuación de la información a nivel del sistema, se muestra una lista de procesos en modo de texto a partir de los cuales ha cambiado la utilización de recursos durante el último intervalo. Estos procesos pueden haber usado tiempo de CPU o pueden haber emitido solicitudes de disco o de red. Sin embargo, también se muestra un proceso si parte de él ha sido paginado debido a la falta de memoria (mientras el proceso en sí estaba en estado de suspensión).
Por proceso, se pueden mostrar los siguientes campos (en orden alfabético), dependiendo del modo de salida actual como se describe en la sección COMANDOS INTERACTIVOS y dependiendo del ancho actual de su ventana:
El tamaño promedio de una acción de lectura en el disco.
El tamaño promedio de una acción de escritura en el disco.
Ancho de banda total para los paquetes TCP y UDP recibidos consumidos por este proceso (bits por segundo). Este valor se puede comparar con el valor 'si' a nivel de interfaz (ancho de banda utilizado por interfaz).
Esta información solo se mostrará cuando se cargue el módulo del kernel 'netatop'.
Ancho de banda total para los paquetes TCP y UDP enviados consumidos por este proceso (bits por segundo). Este valor se puede comparar con el valor 'so' en el nivel de interfaz (ancho de banda utilizado por interfaz).
Esta información solo se mostrará cuando se cargue el módulo del kernel 'netatop'.
Retraso de E/S de bloque agregado, es decir, tiempo de espera para E/S de disco.
Nombre de ruta del cgroup (versión 2) al que pertenece este proceso. Este nombre de ruta es relativo al directorio raíz de cgroup, que suele ser '/sys/fs/cgroup'.
ID de contenedor (Docker) de 12 dígitos hexadecimales, que hace referencia al contenedor en el que se ejecuta el proceso/hilo. Si un proceso se ha iniciado y finalizado durante el último intervalo, un '?' se muestra porque el ID del contenedor no forma parte del registro de contabilidad del proceso estándar.
El nombre del proceso. Este nombre puede estar rodeado por signos de "menor/mayor que" ('
Detrás de la abreviatura 'CMD' en la línea de encabezado, se muestran el número de página actual y el número total de páginas de la lista de procesos/subprocesos.
La línea de comando completa del proceso (incluidos los argumentos). Si la longitud de la línea de comando excede la longitud de la línea de la pantalla, las teclas de flecha -> y <- se pueden usar para el desplazamiento horizontal.
Detrás del verbo 'COMMAND-LINE' en la línea de encabezado, se muestra el número de página actual y el número total de páginas de la lista de procesos/subprocesos.
El porcentaje de ocupación de este proceso relacionado con la capacidad disponible para este recurso a nivel del sistema.
El valor 'cpu.max' del cgroup (versión 2) al que pertenece este proceso, calculado como porcentaje de una CPU.
El valor 'cpu.max' más restrictivo (es decir, efectivo) definido por los directorios superiores del cgroup (versión 2) al que pertenece este proceso, calculado como porcentaje de una CPU.
La identificación de la CPU en la que se está ejecutando o se ha estado ejecutando recientemente el subproceso (principal).
El valor 'cpu.weight' del cgroup (versión 2) al que pertenece este proceso.
Identificación del contenedor (OpenVZ). Si un proceso se ha iniciado y finalizado durante el último intervalo, un '?' se muestra porque el ID del contenedor no forma parte del registro de contabilidad del proceso estándar.
El porcentaje de ocupación de este proceso relacionado con la carga total que producen todos los procesos (es decir, el total de accesos al disco de todos los procesos durante el último intervalo).
Esta información se muestra cuando la "contabilidad de almacenamiento" por proceso está activa en el kernel.
ID de grupo efectivo bajo el cual se ejecuta este proceso.
Fecha en que se ha finalizado el proceso. Si el proceso aún se está ejecutando, este campo muestra 'activo'.
Tiempo que ha finalizado el proceso. Si el proceso aún se está ejecutando, este campo muestra 'activo'.
Entorno virtual identificado (solo OpenVZ).
ID de usuario efectivo bajo el cual se ejecuta este proceso.
El código de salida de un proceso terminado (la segunda posición de la columna 'ST' es E) o el número de señal fatal (la segunda posición de la columna 'ST' es S o C).
ID de grupo del sistema de archivos bajo el cual se ejecuta este proceso.
ID de usuario del sistema de archivos bajo el cual se ejecuta este proceso.
Cuando el demonio atopgpud no se ejecuta con privilegios de root, el porcentaje de GPU refleja el porcentaje de ocupación de memoria de GPU (la memoria de todas las GPU es 100%).
Cuando el demonio atopgpud se ejecuta con privilegios de raíz, el porcentaje de GPU refleja el porcentaje de ocupación de GPU.
Porcentaje de ocupación en todas las GPU (una GPU es 100 %).
Cuando el demonio atopgpud no se ejecuta con privilegios de root, este valor no está disponible.
Lista separada por comas de las GPU utilizadas por el proceso durante el intervalo. Cuando la lista separada por comas excede el ancho de la columna, se muestra un valor hexadecimal.
La cantidad virtual de memoria bloqueada (es decir, no intercambiable) por este proceso (o usuario).
El número de fallos de página emitidos por este proceso que se han solucionado creando/cargando la página de memoria solicitada.
El porcentaje de ocupación de este proceso relacionado con la capacidad disponible para este recurso a nivel del sistema.
Ocupación media de memoria durante el intervalo en todas las GPU utilizadas.
Porcentaje ocupado de memoria en todas las GPU (una GPU es 100 %), es decir, el tiempo necesario para los accesos de lectura y escritura en la memoria.
Cuando el demonio atopgpud no se ejecuta con privilegios de root, este valor no está disponible.
El valor 'memory.max' del cgroup (versión 2) al que pertenece este proceso.
Ocupación de memoria en el momento de la muestra en todas las GPU utilizadas.
El valor 'memory.max' más restrictivo (es decir, efectivo) definido por los directorios superiores del cgroup (versión 2) al que pertenece este proceso.
El número de fallas de página emitidas por este proceso que se han resuelto recuperando la página de memoria solicitada de la lista de páginas libres.
El porcentaje de ocupación de este proceso relacionado con la carga total que producen todos los procesos (es decir, el ancho de banda de red consumido de todos los procesos durante el último intervalo).
Esta información solo se mostrará cuando se cargue el módulo del kernel 'netatop'.
La prioridad más o menos estática que se le puede dar a un proceso en una escala de -20 (prioridad alta) a +19 (prioridad baja).
Número de veces que el proceso/subproceso se cambió de contexto de forma involuntaria, en caso de que expirara el período de tiempo.
El número de procesos activos y finalizados acumulados para este usuario o programa.
Número de veces que el proceso/subproceso se cambió de contexto voluntariamente en caso de una llamada al sistema de bloqueo, p. para esperar a que se complete una operación de E/S.
Identificacion de proceso. Si un proceso se ha iniciado y finalizado durante el último intervalo, un '?' se muestra porque el ID del proceso no forma parte del registro de contabilidad del proceso estándar.
Las políticas 'norma' (normal, que es SCHED_OTHER), 'btch' (lote) e 'inactivo' se refieren a procesos de tiempo compartido. Las políticas 'fifo' (SCHED_FIFO) y 'rr' (round robin, que es SCHED_RR) se refieren a procesos en tiempo real.
ID de proceso principal. Si un proceso se ha iniciado y finalizado durante el último intervalo, se muestra el valor 0 porque el ID del proceso principal no forma parte del registro de contabilidad del proceso estándar.
La prioridad del proceso varía de 0 (prioridad más alta) a 139 (prioridad más baja). Las prioridades de 0 a 99 se utilizan para procesos en tiempo real (prioridad fija independiente de su comportamiento) y las prioridades de 100 a 139 para procesos de tiempo compartido (prioridad variable según su consumo de CPU reciente y el valor agradable).
El tamaño de memoria proporcional de este proceso (o usuario).
Cada proceso comparte memoria residente con otros procesos. P.ej. cuando un programa en particular se inicia varias veces, las páginas de códigos (texto) solo se cargan una vez en la memoria y son compartidas por todas las encarnaciones. Además, el código de las bibliotecas compartidas lo comparten todos los procesos que utilizan esa biblioteca compartida, así como la memoria compartida y los archivos asignados a la memoria. Para el cálculo de PSIZE de un proceso, la memoria residente de un proceso que se comparte con otros procesos se divide por el número de participantes. Esto significa que cada proceso se contabiliza como una parte proporcional de esa memoria. La acumulación de los valores de PSIZE de todos los procesos en el sistema brinda una impresión confiable de la memoria residente total consumida por todos los procesos.
Dado que la recopilación de todos los valores que se necesitan para calcular el PSIZE es una tarea que requiere mucho tiempo, la tecla 'R' (o el indicador '-R') debe estar activa. La recopilación de estos valores también requiere privilegios de superusuario (de lo contrario, se muestra '?K' en el resultado).
Si un proceso finalizó durante el último intervalo, no se muestra ningún valor ya que el tamaño de memoria proporcional no forma parte del registro de contabilidad de procesos estándar.
La transferencia de datos de lectura emitida físicamente en el disco (por lo que no se tiene en cuenta la lectura desde la memoria caché del disco).
Desafortunadamente, el kernel agrega la transferencia de datos de un proceso a la transferencia de datos de su proceso principal al finalizar, por lo que es posible que vea transferencias para procesos (principales) como cron, bash o init, que en realidad no son emitidos por ellos.
Retraso en la cola de ejecución, es decir, el tiempo empleado en esperar en una cola de ejecución.
El ID de grupo real bajo el cual se ejecuta el proceso.
La cantidad de memoria residente que el proceso ha aumentado durante el último intervalo. Un crecimiento residente puede ser causado por tocar páginas de memoria que no fueron creadas/cargadas físicamente antes (carga bajo demanda). Tenga en cuenta que el crecimiento de un residente también puede ser negativo, p. cuando parte del proceso se pagina debido a la falta de memoria o cuando el proceso libera memoria asignada dinámicamente. Para un proceso que comenzó durante el último intervalo, el crecimiento residente refleja el tamaño residente total del proceso en ese momento.
Si un proceso finalizó durante el último intervalo, no se muestra ningún valor ya que la ocupación de la memoria residente no forma parte del registro de contabilidad de procesos estándar.
El número de paquetes TCP y UDP recibidos por este proceso. Esta información solo se mostrará cuando el módulo del kernel 'netatop' esté instalado.
Si un proceso finalizó durante el último intervalo, no se muestra ningún valor ya que los contadores de red no forman parte del registro de contabilidad de procesos estándar.
El uso total de memoria residente consumido por este proceso (o usuario). Tenga en cuenta que el RSIZE de un proceso incluye toda la memoria residente utilizada por ese proceso, incluso si ciertas partes de la memoria se comparten con otros procesos (consulte también la explicación de PSIZE).
Si un proceso finalizó durante el último intervalo, no se muestra ningún valor ya que la ocupación de la memoria residente no forma parte del registro de contabilidad de procesos estándar.
Prioridad en tiempo real según el estándar POSIX. El valor puede ser 0 para un proceso de tiempo compartido (política 'norma', 'btch' o 'inactivo') o oscila entre 1 (más bajo) y 99 (más alto) para un proceso en tiempo real (política 'rr' o 'fifo').
El ID de usuario real bajo el cual se ejecuta el proceso.
El estado actual del subproceso (principal): 'R' para ejecutar (procesando actualmente o en la cola de ejecución), 'S' para dormir interrumpible (esperar a que ocurra un evento), 'D' para dormir no interrumpible, 'Z ' para zombi (esperando ser sincronizado con su proceso principal), 'T' para detenido (suspendido o rastreado), 'W' para intercambio y 'E' (salir) para procesos que terminaron durante el último intervalo.
El ID de grupo guardado del proceso.
El número de paquetes TCP y UDP transmitidos por este proceso. Esta información solo se mostrará cuando se cargue el módulo del kernel 'netatop'.
El estado de un proceso.
La primera posición indica si el proceso se ha iniciado durante el último intervalo (el valor N significa 'nuevo proceso').
La segunda posición indica si el proceso ha finalizado durante el último intervalo.
El valor E significa 'salida' por iniciativa propia del proceso; el código de salida se muestra en la columna 'EXC'.
El valor S significa que el proceso ha sido terminado involuntariamente por una señal; el número de la señal se muestra en la columna 'EXC'.
El valor C significa que el proceso ha sido terminado involuntariamente por una señal, produciendo un volcado del núcleo en su directorio actual; el número de la señal se muestra en la columna 'EXC'.
La fecha de inicio del proceso.
La hora de inicio del proceso.
El ID de usuario guardado del proceso.
El valor 'memory.swap.max' del cgroup (versión 2) al que pertenece este proceso.
El espacio de intercambio consumido por este proceso (o usuario).
El valor 'memory.swap.max' más restrictivo (es decir, efectivo) definido por los directorios superiores del cgroup (versión 2) al que pertenece este proceso.
Consumo de tiempo de CPU de este proceso en modo sistema (modo kernel), generalmente debido al manejo de llamadas al sistema.
El tamaño promedio de un búfer TCP recibido en bytes. Esta información solo se mostrará cuando se cargue el módulo del kernel 'netatop'.
El número de paquetes TCP recibidos para este proceso. Esta información solo se mostrará cuando se cargue el módulo del kernel 'netatop'.
El tamaño promedio de un búfer TCP transmitido en bytes. Esta información solo se mostrará cuando se cargue el módulo del kernel 'netatop'.
El número de paquetes TCP transmitidos para este proceso. Esta información solo se mostrará cuando se cargue el módulo del kernel 'netatop'.
Número total de subprocesos dentro de este proceso. Todos los hilos relacionados están contenidos en un grupo de hilos, representado por arriba como una línea o como una línea separada cuando la tecla 'y' (o el indicador -y) está activa.
En los sistemas Linux 2.4, es casi imposible determinar qué subprocesos (es decir, procesos) están relacionados con el mismo grupo de subprocesos. Cada subproceso está representado por arriba como una línea separada.
ID de subproceso. Todos los subprocesos dentro de un proceso se ejecutan con el mismo PID pero con un TID diferente. Este valor se muestra para subprocesos individuales en procesos de subprocesos múltiples (cuando se usa la tecla 'y').
Número de subprocesos dentro de este proceso que están en estado 'en ejecución' (R).
Número de subprocesos dentro de este proceso que están en el estado 'suspendido interrumpible' (S).
Número de subprocesos dentro de este proceso que están en el estado 'dormir ininterrumpidamente' (D).
El tamaño promedio de un paquete UDP recibido en bytes. Esta información solo se mostrará cuando se cargue el módulo del kernel 'netatop'.
El número de paquetes UDP recibidos por este proceso. Esta información solo se mostrará cuando se cargue el módulo del kernel 'netatop'.
El tamaño promedio de un paquete UDP transmitido en bytes. Esta información solo se mostrará cuando se cargue el módulo del kernel 'netatop'.
El número de paquetes UDP transmitidos por este proceso. Esta información solo se mostrará cuando se cargue el módulo del kernel 'netatop'.
Consumo de tiempo de CPU de este proceso en modo usuario, debido al procesamiento del propio texto del programa.
El tamaño de la memoria virtual de los datos privados utilizados por este proceso (incluidos los datos de la biblioteca compartida y del montón).
La cantidad de memoria virtual que ha crecido el proceso durante el último intervalo. Un crecimiento virtual puede ser causado por, p. emitiendo un malloc() o adjuntando un segmento de memoria compartida. Tenga en cuenta que un crecimiento virtual también puede ser negativo, p. emitiendo un free() o separando un segmento de memoria compartida. Para un proceso que comenzó durante el último intervalo, el crecimiento virtual refleja el tamaño virtual total del proceso en ese momento.
Si un proceso ha finalizado durante el último intervalo, no se muestra ningún valor ya que la ocupación de la memoria virtual no forma parte del registro de contabilidad de procesos estándar.
ID de proceso virtual (dentro de un contenedor OpenVZ). Si un proceso se ha iniciado y finalizado durante el último intervalo, un '?' se muestra porque el ID del proceso virtual no forma parte del registro de contabilidad del proceso estándar.
El uso total de memoria virtual consumido por este proceso (o usuario).
Si un proceso ha finalizado durante el último intervalo, no se muestra ningún valor ya que la ocupación de la memoria virtual no forma parte del registro de contabilidad de procesos estándar.
El tamaño de la memoria virtual del texto (compartido) de todas las bibliotecas compartidas utilizadas por este proceso.
El tamaño de la memoria virtual de la pila (privada) utilizada por este proceso
El tamaño de la memoria virtual del texto (compartido) del programa ejecutable.
Canal de espera del subproceso en estado de suspensión, es decir, el nombre de la función del núcleo en la que el subproceso se ha puesto en suspensión.
Dado que determinar la cadena de nombre de la función del núcleo es una tarea que requiere relativamente mucho tiempo, la tecla 'W' (o el indicador '-W') debe estar activa.
La transferencia de datos de escritura emitida físicamente en el disco (por lo que no se tiene en cuenta la escritura en la memoria caché del disco). Este contador se mantiene para el proceso de la aplicación que escribe sus datos en la memoria caché (suponiendo que estos datos se transfieran físicamente al disco más adelante). Tenga en cuenta que la E/S de disco necesaria para el intercambio no se tiene en cuenta.
Desafortunadamente, el kernel agrega la transferencia de datos de un proceso a la transferencia de datos de su proceso principal al finalizar, por lo que es posible que vea transferencias para procesos (principales) como cron, bash o init, que en realidad no son emitidos por ellos.
La transferencia de datos de escritura contabilizó previamente este proceso u otro proceso que se haya cancelado. Suponga que un proceso escribe datos nuevos en un archivo y que los datos se eliminan nuevamente antes de que los búferes de caché se hayan vaciado en el disco. Luego, el proceso original muestra los datos escritos como WRDSK, mientras que el proceso que elimina/trunca el archivo muestra los datos eliminados sin vaciar como WCANCL.
Con el indicador -P seguido de una lista de una o más etiquetas (separadas por comas), se genera una salida analizable para cada muestra. Las etiquetas que se pueden especificar para las estadísticas a nivel del sistema corresponden a las etiquetas (primer verbo de cada línea) que se pueden encontrar en la salida interactiva: "CPU", "cpu", "CPL", "GPU", "MEM" , "SWP", "PAG", "PSI", "LVM", "MDD", "DSK", "NFM", "NFC", "NFS", "NET", "IFB", "LLC", " NUM" y "NUC".
Para las estadísticas a nivel de proceso, hay etiquetas especiales disponibles: "PRG" (general), "PRC" (CPU), "PRE" (GPU), "PRM" (memoria), "PRD" (disco, solo si "contabilidad de almacenamiento" está activo) y "PRN" (red, solo si se ha instalado el módulo del kernel 'netatop').
Con la etiqueta "TODO", se muestran todas las estadísticas a nivel del sistema y del proceso.
El comando y la línea de comando en la salida analizable pueden contener espacios y, por lo tanto, están entre paréntesis de forma predeterminada. Sin embargo, dado que las herramientas de análisis suelen utilizar un espacio como separador entre los campos, con el indicador adicional -Z es posible intercambiar los espacios en el comando (línea) por guiones bajos y omitir los paréntesis.
Para cada intervalo, se muestran todas las líneas solicitadas; luego, arriba muestra una línea que solo contiene la etiqueta "SEP" como separador antes de que se generen las líneas para la siguiente muestra.
Cuando una muestra contiene los valores desde el inicio, arriba muestra una línea que solo contiene la etiqueta "RESET" antes de que se generen las líneas para esta muestra.
La primera parte de cada línea de salida consta de los siguientes seis campos: etiqueta (el nombre de la etiqueta), host (el nombre de esta máquina), época (la hora de este intervalo como número de segundos desde el 1-1-1970), fecha (fecha de este intervalo en formato AAAA/MM/DD), hora< (tiempo de este intervalo en formato HH:MM:SS), e intervalo (número de segundos transcurridos para este intervalo).
Los campos subsiguientes de cada línea de salida dependen de la etiqueta:
Campos subsiguientes: número total de tics de reloj por segundo para esta máquina, número de procesadores, consumo de todas las CPU en modo sistema (ticks de reloj), consumo de todas las CPU en modo de usuario (ticks de reloj), consumo de todas las CPU en modo de usuario para procesos agradables (ticks de reloj), consumo de todas las CPU en modo inactivo (ticks de reloj), consumo de todas las CPU en modo de espera (ticks de reloj), consumo de todas las CPU en modo irq (ticks de reloj), consumo de todas las CPU en modo softirq (ticks de reloj), consumo de todas las CPU en modo robo (ticks de reloj), consumo de todas las CPU en modo invitado (ticks de reloj) modo de usuario superpuesto, frecuencia de todas las CPU, porcentaje de frecuencia de todas las CPU, instrucciones ejecutadas por todas las CPU y ciclos para todas las CPU.
Campos subsiguientes: número total de tics de reloj por segundo para esta máquina, número de procesador, consumo de esta CPU en modo sistema (ticks de reloj), consumo de esta CPU en modo usuario (ticks de reloj), consumo de esta CPU en modo de usuario para procesos agradables (ticks de reloj), consumo de esta CPU en modo inactivo (ticks de reloj), consumo de esta CPU en modo de espera (ticks de reloj), consumo de esta CPU en modo irq (ticks de reloj), consumo de esta CPU en modo softirq (ticks de reloj), consumo de esta CPU en modo robo (ticks de reloj), consumo de esta CPU en modo invitado (ticks de reloj) modo de usuario superpuesto, frecuencia de esta CPU, porcentaje de frecuencia de esta UCP, instrucciones ejecutadas por esta UCP y ciclos para esta UCP.
Campos subsiguientes: número de procesadores, promedio de carga del último minuto, promedio de carga de los últimos cinco minutos, promedio de carga de los últimos quince minutos, número de cambios de contexto y número de interrupciones del dispositivo.
Campos posteriores: número de GPU, cadena de ID de bus, tipo de cadena de GPU, porcentaje de ocupación de GPU durante el último segundo (-1 si no está disponible), porcentaje de memoria ocupada durante el último segundo (-1 si no está disponible), tamaño total de la memoria (KiB) , memoria utilizada (KiB) en este momento, número de muestras tomadas durante el intervalo, porcentaje ocupado de GPU acumulado durante el intervalo (a dividir por el número de muestras para el porcentaje ocupado promedio, -1 si no está disponible), porcentaje ocupado de memoria acumulada durante el intervalo (a dividir por el número de muestras para el porcentaje medio de ocupación, -1 si no está disponible), y la ocupación de memoria acumulada durante el intervalo (a dividir por el número de muestras para el promedio de ocupación).
Campos subsiguientes: tamaño de página para esta máquina (en bytes), tamaño de memoria física (páginas), tamaño de memoria libre (páginas), tamaño de caché de página (páginas), tamaño de caché de búfer (páginas), tamaño de losa (páginas ), páginas sucias en caché (páginas), parte recuperable de losa (páginas), tamaño total de las páginas de globo de vmware (páginas), tamaño total de la memoria compartida (páginas), tamaño de la memoria compartida residente (páginas), tamaño de intercambio compartido memoria (páginas), tamaño de página enorme (en bytes), tamaño total de páginas enormes (páginas enormes), tamaño de páginas enormes gratuitas (páginas enormes), tamaño de ARC (caché) de ZFSonlinux (páginas), tamaño de páginas compartidas para KSM (páginas), tamaño de las páginas compartidas para KSM (páginas), tamaño de la memoria utilizada para los sockets TCP (páginas), tamaño de la memoria utilizada para los sockets UDP (páginas) y tamaño de las tablas de páginas (páginas).
Campos subsiguientes: tamaño de página para esta máquina (en bytes), tamaño de intercambio (páginas), tamaño de intercambio libre (páginas), tamaño de caché de intercambio (páginas), tamaño de espacio comprometido (páginas), límite de espacio comprometido (páginas ), tamaño de la caché de intercambio (páginas), tamaño de las páginas comprimidas almacenadas en zswap (páginas) y tamaño total del grupo comprimido en zswap (páginas).
Campos posteriores: Id. de LLC, porcentaje de LLC en uso, ancho de banda de memoria total de esta LLC (en bytes) y ancho de banda de memoria en el nodo NUMA local de esta LLC (en bytes).
Campos subsiguientes: tamaño de página para esta máquina (en bytes), número de escaneos de página, número de allocstalls, 0 (uso futuro), número de swapins, número de swapouts, número de oomkills (-1 cuando el contador no está presente), número de el proceso se detiene para ejecutar la compactación de memoria, la cantidad de páginas migradas con éxito en total, la cantidad de páginas NUMA migradas, la cantidad de páginas leídas desde dispositivos de bloque y la cantidad de páginas escritas en dispositivos de bloque.
Campos subsiguientes: estadísticas PSI presentes en este sistema (n o y), CPU algunos avg10, CPU algunos avg60, CPU algunos avg300, CPU algunos microsegundos acumulados durante el intervalo, memoria algunos avg10, memoria algunos avg60, memoria algunos avg300, memoria algunos microsegundos acumulados durante el intervalo, memoria llena avg10, memoria llena avg60, memoria llena avg300, memoria llena microsegundos acumulados durante el intervalo, E/S algunos avg10, E/S algunos avg60, E/S algunos avg300, E/S algunos microsegundos acumulados durante el intervalo, I /O full avg10, I/O full avg60, I/O full avg300 y I/O full acumulados en microsegundos durante el intervalo.
Para cada volumen lógico/dispositivo múltiple/disco duro se muestra una línea.
Campos subsiguientes: nombre, número de milisegundos dedicados a E/S, número de lecturas emitidas, número de sectores transferidos para lecturas, número de escrituras emitidas, número de sectores transferidos para escritura, número de descartes emitidos (-1 si no se admite), número de sectores transferidos para descartes, número de solicitudes actualmente en tránsito (aún no completadas) y la profundidad promedio de la cola mientras el disco estaba ocupado.
Campos subsiguientes: sistema de archivos NFS montado, número total de bytes leídos, número total de bytes escritos, número de bytes leídos por llamadas normales al sistema, número de bytes escritos por llamadas normales al sistema, número de bytes leídos por E/S directa, número de bytes escritas por E/S directa, número de páginas leídas por E/S asignadas a memoria y número de páginas escritas por E/S asignadas a memoria.
Campos subsiguientes: número de RPC transmitidos, número de RPC de lectura transmitidos, número de RPC de escritura transmitidos, número de retransmisiones de RPC y número de actualizaciones de autorización.
Campos siguientes: cantidad de RPC manejadas, cantidad de RPC de lectura recibida, cantidad de RPC de escritura recibida, cantidad de bytes leídos por clientes, cantidad de bytes escritos por clientes, cantidad de RPC con formato incorrecto, cantidad de RPC con autorización incorrecta, cantidad de RPC de un cliente defectuoso, número total de solicitudes de red gestionadas, número de solicitudes de red gestionadas a través de TCP, número de solicitudes de red gestionadas a través de UDP, número de conexiones TCP gestionadas, número de aciertos en la memoria caché de respuesta, número de errores en la memoria caché de respuesta y número de solicitudes no almacenadas en caché.
Primero, se produce una línea para las capas superiores de la pila TCP/IP.
Campos subsiguientes: el verbo "superior", número de paquetes recibidos por TCP, número de paquetes transmitidos por TCP, número de paquetes recibidos por UDP, número de paquetes transmitidos por UDP, número de paquetes recibidos por IP, número de paquetes transmitidos por IP , número de paquetes entregados a capas superiores por IP, número de paquetes reenviados por IP, número de errores de entrada (UDP), número de errores de no puerto (UDP), número de aperturas activas (TCP), número de aperturas pasivas (TCP), número de aperturas pasivas (TCP), número de conexiones establecidas en este momento (TCP), número de segmentos retransmitidos (TCP), número de errores de entrada (TCP) y número de reinicios de salida (TCP).
A continuación, se muestra una línea para cada interfaz.
Campos subsiguientes: nombre de la interfaz, número de paquetes recibidos por la interfaz, número de bytes recibidos por la interfaz, número de paquetes transmitidos por la interfaz, número de bytes transmitidos por la interfaz, velocidad de la interfaz y modo dúplex (0=medio , 1=lleno).
Campos siguientes: nombre de la interfaz InfiniBand, número de puerto, número de carriles, velocidad máxima (Mbps), número de bytes recibidos, número de bytes transmitidos, número de paquetes recibidos y número de paquetes transmitidos.
Campos siguientes: número de nodo NUMA, tamaño de página de esta máquina (en bytes), porcentaje de fragmentación de este nodo, tamaño de la memoria física (páginas), tamaño de la memoria libre (páginas), memoria utilizada recientemente (activa) (páginas), memoria usada menos recientemente (inactiva) (páginas), tamaño de los datos del archivo en caché (páginas), páginas sucias en caché (páginas), memoria slab que se usa para kernel mallocs (páginas), memoria slab que es recuperable (páginas), memoria compartida incluyendo tmpfs (páginas) y páginas enormes totales (páginas).
Campos subsiguientes: número de nodo NUMA, número de procesadores para este nodo, consumo de CPU de nodo en modo de sistema (ticks de reloj), consumo de CPU de nodo en modo de usuario (ticks de reloj), consumo de CPU de nodo en modo de usuario para procesos agradables (ticks de reloj), consumo de CPU de nodo en modo inactivo (ticks de reloj), consumo de CPU de nodo en modo de espera (ticks de reloj), consumo de CPU de nodo en modo irq (ticks de reloj), consumo de CPU de nodo en modo softirq (ticks de reloj), consumo de CPU de nodo en modo robo (ticks de reloj) y consumo de CPU de nodo en modo invitado (ticks de reloj) modo de usuario superpuesto.
Para cada proceso se muestra una línea.
Campos subsiguientes: PID (ID único de tarea), nombre (entre paréntesis o guiones bajos para espacios), estado, uid real, gid real, TGID (número de grupo de tareas/subprocesos relacionados), número total de subprocesos, código de salida (en caso de señal fatal: número de señal + 256), hora de inicio (época), línea de comando completa (entre paréntesis o guiones bajos para espacios), PPID, número de subprocesos en estado 'en ejecución' (R), número de subprocesos en estado 'suspendido interrumpible' ' (S), número de subprocesos en estado 'dormir ininterrumpidamente' (D), uid efectivo, gid efectivo, uid guardado, gid guardado, uid del sistema de archivos, gid del sistema de archivos, tiempo transcurrido del proceso terminado (hercios), is_process (y/n ), OpenVZ virtual pid (VPID), OpenVZ container id (CTID), Docker container id (CID), indicación de si la tarea se inició recientemente durante este intervalo ('N'), nombre de ruta de cgroup v2 (entre paréntesis o guiones bajos para espacios ) y hora de finalización (época o 0 si aún está activo).
Para cada proceso se muestra una línea.
Campos subsiguientes: PID, nombre (entre paréntesis o guiones bajos para espacios), estado, número total de pulsos de reloj por segundo para esta máquina, consumo de CPU en modo usuario (pulsaciones de reloj), consumo de CPU en modo sistema (pulsaciones de reloj), agradable valor, prioridad, prioridad en tiempo real, política de programación, CPU actual (-1 para proceso cerrado), promedio de suspensión, TGID (número de grupo de tareas/subprocesos relacionados), is_process (s/n), demora de cola de ejecución en nanosegundos para este subproceso o para todos los subprocesos (en caso de proceso), el canal de espera de este subproceso (entre paréntesis o guiones bajos para espacios), bloque de retraso de E/S (ticks), cgroup v2 'cpu.max' calculado como porcentaje (-3 significa que no hay soporte para cgroup v2 , -2 significa indefinido y -1 significa máximo), cgroup v2 más restrictivo 'cpu.max' en directorios superiores calculado como porcentaje (-3 significa que no hay soporte para cgroup v2, -2 significa indefinido y -1 significa máximo), número de voluntarios cambios de contexto y número de cambios de contexto involuntarios.
Para cada proceso se muestra una línea.
Campos subsiguientes: PID, nombre (entre paréntesis o guiones bajos para espacios), estado del proceso, estado de la GPU (A para activo, E para salir, N para ningún usuario de GPU), número de GPU utilizadas por este proceso, lista de bits que refleja las GPU utilizadas, GPU porcentaje de ocupación durante el intervalo, porcentaje de memoria ocupada durante el intervalo, ocupación de memoria (KiB) en este momento, ocupación de memoria acumulada (KiB) durante el intervalo y número de muestras tomadas durante el intervalo.
Para cada proceso se muestra una línea.
Campos subsiguientes: PID, nombre (entre paréntesis o guiones bajos para espacios), estado, tamaño de página para esta máquina (en bytes), tamaño de memoria virtual (KiB), tamaño de memoria residente (KiB), tamaño de memoria de texto compartida (KiB), virtual crecimiento de la memoria (KiB), crecimiento de la memoria residente (KiB), número de errores de página menores, número de errores de página importantes, tamaño de ejecución de biblioteca virtual (KiB), tamaño de datos virtuales (KiB), tamaño de pila virtual (KiB), espacio de intercambio utilizado (KiB), TGID (número de grupo de tareas/subprocesos relacionados), is_process (y/n), tamaño de conjunto proporcional (KiB) si se especifica la opción 'R', espacio de memoria virtualmente bloqueado (KiB), cgroup v2 'memory. max' en KiB (-3 significa que no hay soporte para cgroup v2, -2 significa indefinido y -1 significa máximo), cgroup v2 más restrictivo 'memory.max' en directorios superiores en KiB (-3 significa que no hay soporte para cgroup v2, -2 significa indefinido y -1 significa máximo), cgroup v2 'memory.swap.max' en KiB (-3 significa que no hay compatibilidad con cgroup v2, -2 significa indefinido y -1 significa máximo) y cgroup v2 más restrictivo 'memory.swap.max ' en directorios superiores en KiB (-3 significa que no hay soporte para cgroup v2, -2 significa indefinido y -1 significa máximo).
Para cada proceso se muestra una línea.
Campos subsiguientes: PID, nombre (entre paréntesis o guiones bajos para espacios), estado, parche de kernel obsoleto instalado ('n'), estadísticas de io estándar utilizadas ('y' o 'n'), número de lecturas en el disco, número acumulado de sectores leídos, número de escrituras en el disco, número acumulado de sectores escritos, número cancelado de sectores escritos, TGID (número de grupo de tareas/subprocesos relacionados), valor obsoleto ('n') e is_process (s/n).
Para cada proceso se muestra una línea.
Campos subsiguientes: PID, nombre (entre paréntesis o guiones bajos para espacios), estado, módulo de kernel 'netatop' cargado ('y' o 'n'), número de paquetes TCP transmitidos, tamaño acumulado de paquetes TCP transmitidos, número de Paquetes TCP recibidos, tamaño acumulativo de paquetes TCP recibidos, número de paquetes UDP transmitidos, tamaño acumulativo de paquetes UDP transmitidos, número de paquetes UDP recibidos, tamaño acumulativo de paquetes UDP transmitidos, número de paquetes sin procesar transmitidos (obsoleto , siempre 0), número de paquetes sin procesar recibidos (obsoletos, siempre 0), TGID (número de grupo de tareas/subprocesos relacionados) e is_process (y/n).
Si el módulo kernel no está activo, los contadores de E/S de red por proceso no son relevantes.
Con el indicador -J seguido de una lista de una o más etiquetas (separadas por comas), se genera una salida JSON para cada muestra. La sintaxis y el nombre de las etiquetas JSON son los mismos que para la salida analizable.
Al enviar la señal SIGUSR1 a arriba, se forzará una nueva muestra, incluso si el intervalo del temporizador actual aún no se ha excedido. El comportamiento es similar a presionar la tecla 't' en una sesión interactiva.
Al enviar la señal SIGUSR2 a atop, se forzará una muestra final, después de lo cual terminará atop.
Medición en vivo en modo gráfico de barras:
Medición en vivo en modo texto:
Generación en vivo de salida analizable (separados por espacios en blanco o JSON):
Escribir archivos de registro sin procesar:
Analice archivos de registro sin procesar en modo gráfico de barras:
Analice archivos de registro sin procesar en modo de texto:
Genere resultados analizables a partir de archivos de registro sin procesar (separados por espacios en blanco o JSON):
Para monitorear la carga actual del sistema en modo de texto con un intervalo de (predeterminado) 10 segundos:
Para monitorear la carga actual del sistema como gráficos de barras con un intervalo de 5 segundos:
Almacene información sobre el sistema y la actividad del proceso en forma binaria comprimida en un archivo con un intervalo de diez minutos durante una hora:
Ver el contenido de este archivo de forma interactiva:
arriba -r /tmp/atop.raw
Vea la utilización del procesador y del disco de este archivo en formato analizable:
sobre -PCPU,DSK -r /tmp/atop.raw
Vea el contenido del archivo de registro estándar de hoy de forma interactiva:
encima de -r
Ver el contenido del archivo de registro estándar de anteayer de forma interactiva:
sobre -r yy
Vea el contenido del archivo de registro estándar del 15 de abril de 2023 a partir de las 14:00 de forma interactiva:
sobre -r 20230415 -b 1400
Concatene todos los archivos de registro sin procesar de marzo de 2023 y genere resultados analizables sobre la utilización de la CPU:
Para monitorear la carga del sistema y escribirlo en un archivo (en ASCII simple) con un intervalo de un minuto durante media hora con procesos activos ordenados por consumo de memoria:
Directorio que contiene los archivos sombra de contabilidad de procesos que utiliza atop cuando el daemon atopacctd está activo.
Archivo en el que el kernel escribe los registros contables cuando el propio atop ha activado el mecanismo de contabilidad del proceso.
Archivo de configuración que contiene valores predeterminados para todo el sistema. Para obtener más información sobre los valores predeterminados, consulte la página de manual de atoprc).
Archivo de configuración que contiene valores predeterminados personales. Para obtener más información sobre los valores predeterminados, consulte la página de manual de atoprc).
Archivo de configuración para anular la configuración de atop que se ejecuta en segundo plano para crear el archivo de registro diario. Este archivo se crea cuando se instala atop. Los ajustes predeterminados son:
LOGOTIPOS=""
INTERVALO DE REGISTRO=600
LOGGENERACIONES=28
Archivo sin formato, donde YYYYMMDD son dígitos que representan la fecha actual. Este nombre lo usa atop en segundo plano como nombre predeterminado para el archivo de salida, y atop como nombre predeterminado para el archivo de entrada cuando se usa -r bandera.
Todos los datos de nivel de proceso y sistema binario en este archivo se han almacenado en formato comprimido.
Archivo que contiene las estructuras netpertask que contienen los contadores de red de los procesos finalizados. Estas estructuras las escribe el daemon netatopd y las lee atop después de leer los registros contables del proceso estándar.
atopsar(1), atopconvert(1), atopcat(1), atoprc(5), atopacctd(8), netatop(4), netatopd(8), atopgpud(8), logrotate(8)
https://www.atoptool.nl
Gerlof Langeveld (gerlof.langeveld@atoptool.nl)
JC van Winkel