Introducción al comando de monitoreo del sistema Linux comúnmente usado

  

Registre sus comandos habituales del sistema Linux, convenientes para una revisión posterior, descubra que la memoria está empeorando cada vez más. comando PS

comando:

ps -mp pid -o HILO, tres veces al día, la hora o ps -Lfp pid

Los resultados muestran:

La función de este comando es principalmente obtener información sobre el subproceso correspondiente a un proceso. Por ejemplo, si desea analizar algunos de los cuellos de botella en ejecución de un proceso Java, puede usar este comando para encontrar el tiempo de uso de la CPU de todos los subprocesos actuales, que es la última columna aquí.

Por ejemplo, aquí se encuentra un TID: 30834, que ocupa el tiempo de TIEMPO más alto.

Primero convierta a hexadecimal con printf "% x \\ n " 30834, continúe volcando la información de la pila del proceso jvm actual a través del comando jstack. Con el comando Grep, puede encontrar la información de identificación de subproceso hexadecimal, y puede encontrar rápidamente dónde se encuentra el código más intensivo de CPU. Bajo

explicación simple, la serie de hilos que jstack contenido:

800 nid = 0x7d9b en espera en la condición [0x0000000046f66000]

" DboServiceProcessor-4 -thread-295 "daemon prio = 10 tid = 0x00002aab047a9800 nid = 0x7d9b esperando en condición [0x0000000046f66000]

nid: el correspondiente sistema operativo Linux, que es el número hexadecimal convertido a <

tid: Esta debe ser la ubicación de la dirección única en la especificación de memoria jmm de jvm. Si usa algunos datos de memoria de jvm en detalle, no puede usarla, así que vamos a escribirla.

el comando top

comando:

top -hp pid

los resultados muestran:

y frente al efecto, y se puede realizar un seguimiento en tiempo real Obtenga el hilo que consume la mayor cantidad de CPU en el proceso especificado. Luego use el método anterior para extraer la información correspondiente de la pila de hilos.

El análisis de los cuellos de botella de E /S

mpstat comando

comando: mpstat -P ALL 1 1000

Los resultados muestran:

Tenga en cuenta la columna% iowait que está dentro, el tiempo que tarda la CPU en esperar una operación de E /S. Este valor continúa siendo alto y generalmente es causado por un cuello de botella de E /S.

Este parámetro le permite ver visualmente si hay un cuello de botella en la operación de E /S actual.

Comando iostat
Comando

:

iostat -m - x 1 1000

% iowait se pueden observar los mismos datos correspondientes a la CPU, además iostat también proporciona un poco más de detalle de los datos de estado de E /S, como el más importante son: < Br>

avgqu-sz: La longitud media de la cola de las solicitudes que se enviaron al dispositivo.
(La longitud de la solicitud de la cola del disco, 2, 3 es normal. Puede entenderse como la carga de la CPU)

aguarda: el tiempo promedio (en milisegundos) para las solicitudes de E /S enviadas al dispositivo que se va a atender.
(representa el tiempo total de una operación de E /S desde la espera hasta su finalización)

svctm y% util Ambos representan el tiempo empleado en procesar la solicitud de E /S y la proporción de tiempo empleado en la CPU. Al juzgar si se trata de un cuello de botella, estos dos parámetros no son los principales

r /sw /s y rMB /s wMB /s son algunos estados que representan la E /S que maneja el sistema actual. Lo primero es lo que solemos decir. Tps, este último es el rendimiento. Esta es también una métrica de rendimiento para evaluar un sistema

comando pid

Comando:

pidstat -p pid -u -d -t -w -h 1 1000

los resultados muestran:

es un comando muy útil puede ser analizado sobre la base de los datos de rendimiento correspondientes a cuando un proceso, incluyendo CPU, I /O, IR, CS y similares, puede facilitar el desarrollo de más refinado Observe el estado de funcionamiento del sistema. Sin embargo, parece que pidstat está en algunas versiones más nuevas del kernel 2.6, necesita instalar el paquete sysstat.

En ubuntu, puedes instalarlo a través de sudo apt-get install sysstat.

comando SAR

comando:

sar -x pid 1 1000
varios

SAR pueden designar correspondiente pid, la atención fijos Parámetros, no tan potentes como pidstat. No puedo ver la información de E /S, IR y otra información correspondiente.

La función sar puede anular las funciones relacionadas de mpstat y iostat.

dstat comando

comando:

dstat -y --tcp 1 1000

se puede ver con mayor facilidad por dstat --tcp El estado actual de tcp, no es necesario ver netstat -nat cada vez.

Otros comandos

netstat -natp: vea el enlace de red correspondiente, preste atención a Recv-Q, Send-Q Estado

lsof -p pid: busque el identificador de archivo del pid correspondiente

lsof -i: 80: busque en qué proceso está ocupado el puerto correspondiente por

lsof /tmp/1.txt: Encuentre qué archivo está ocupado por el archivo correspondiente

tcpdump /wireshark: herramienta de análisis de paquetes de captura

jstat /jmap /jstack /jps y otras series de comandos de monitoreo java

Finalmente

Si desea realizar un trabajo de ajuste de rendimiento, asegúrese de utilizar algunas herramientas para prestar atención al estado correspondiente. Con el comando linux, puede observar fácilmente algunos estados periféricos como CPU, E /S, red, etc., y la mayoría de ellos puede resolver la mayoría de los problemas. Algunos controles de estado internos de jvm requieren una observación detallada con algunas herramientas únicas.

Copyright © Conocimiento de Windows All Rights Reserved