
¿Existe algún comando o forma posible de verificar qué proceso causó una alta utilización de la CPU en las últimas 24 horas, porque anoche a las 11:30 p. m. fecha: -30-nov-2022 recibimos una alerta de que la utilización de la CPU era alta, por lo que debemos averiguarlo? qué proceso causa una alta utilización.
Respuesta1
sar
Puedes usarsar. Está incluido como parte de sysstat. Instalar:
sudo apt-get install sysstat
A continuación, habilítelo editando /etc/default/sysstat y configurando “ENABLED” en verdadero.
Al hacerlo, monitorea su sistema y genera un informe cada 10 minutos, rotándolos después de una semana. Puede modificar este comportamiento editando el crontab de sysstat en /etc/cron.d/sysstat, o cambiando la configuración de rotación en la configuración de sysstat en /etc/sysstat/sysstat.
Puede generar un informe en tiempo real con el siguiente comando:
sar -u 1 3
sysstat recopilará datos de uso de CPU en segundo plano cada minuto y los guardará en /var/log/sysstat/. Luego puede importar estos datos para analizarlos, utilizando un programa de hoja de cálculo o una herramienta personalizada como sargraph.
encima
Una alternativa es utilizarencimaque es capaz de almacenar contadores sin procesar en un archivo para análisis a largo plazo a nivel del sistema ynivel de proceso. De forma predeterminada, los archivos de registro diarios se conservan durante 28 días. Los informes de actividad del sistema se pueden generar a partir de un archivo de registro utilizando el comando atopsar.
atop está disponible en los repositorios de ubuntu mediante:sudo apt install atop
Respuesta2
comando superior
Arriba en modo por lotes
top -b -n 1
Entonces sácalo con Sed.
top -b -n 1 | sed -n 8,8p
Respuesta3
Acceder directamente al archivo de registro
/var/log/syslog
Cocine a fuego lento con grep
cat /var/log/syslog | grep Nov | grep 30 | grep 11: | grep pid=
Respuesta4
Comando de proceso
Estado del proceso (ps)
ps
ps -eo lstart,pid,time,usuario,comm,pcpu |\ grupo 2022 |\ grep noviembre |\ greppm |\ grupo 11 |\ ordenar -n -k 10 -r |\ cabeza --líneas 1
Explicación
ps (estado del proceso) -e (todos los procesos) -o (formatear la salida) lstart (inicio largo) pid (identificación del proceso) tiempo tiempo) usuario (el usuario) com (comando) pcpu (porcentaje de uso de CPU)
La salida se canalizó a otro programa, grep.
grep 2022 | grep noviembre | grep pm | grupo 11
Luego ordenados, por número y la columna que contiene el porcentaje de CPU
ordenar -n -k 10 -r -n (número) -k (columna) -r (inverso)
Luego se conectó a la cabeza para permitir que la primera línea pase solo
cabeza --líneas 1