El rendimiento de la CPU es un aspecto de la medición de rendimiento de un sistema. Monitorear el rendimiento de la CPU es esencial para depurar procesos dentro de cualquier sistema, administrar los recursos del sistema, tomar decisiones del sistema y evaluar y examinar sistemas en tiempo real.
Hay muchas herramientas disponibles para monitorear y mostrar Rendimiento de la CPU. Los sistemas operativos tienen llamadas al sistema integradas en las que se basan estas herramientas para extraer las lecturas de rendimiento.
En este tutorial, exploraremos la mejor herramienta de monitoreo del uso de CPU y sus usos en cualquier distribución basada en Linux.
1) Arriba
El comando top muestra una vista en tiempo real de los datos relacionados con el rendimiento de todos los procesos en ejecución en un sistema. De forma predeterminada, el comando superior actualiza los datos cada 5 segundos. Escriba «top» en la terminal para ver los datos estadísticos relacionados con el rendimiento de un sistema.
# top
Para modificar la salida del comando top, presione:
«P» para ordenar por uso de CPU.
«I» para eliminar los procesos inactivos de la pantalla y volver a presionar «I» nuevamente.
«M» para ordenar los datos por uso de memoria.
«S» para ordenar por cuánto tiempo han estado ejecutándose los procesos, tipo.
«P» para ordenar por uso de CPU.
«U» para ver procesos propiedad de un usuario específico.
«K» para matar procesos.
«R» para renice procesos.
2) Iostat
El comando iostat enumera la utilización de CPU, la utilización de dispositivos y la utilización del sistema de archivos de red. Esta utilidad muestra el uso promedio de CPU del sistema desde el último reinicio. Ejecutar el siguiente comando sin ninguna opción muestra los tres informes.
# iostat
Para enumerar el informe individual, utilice los interruptores -c, -d y -h para la utilización de la CPU , utilización de dispositivos y utilización del sistema de archivos de red. El siguiente comando dividirá la utilización de la CPU en procesos de usuario, procesos del sistema, espera de E / S y tiempo de inactividad.
# iostat -c
El siguiente comando mostrará estadísticas extendidas ( -x), la cantidad de veces (-t) que debe mostrarse cada informe para la utilización de la CPU (-c).
# iostat -xtc 5 2
3) Vmstat
El comando vmstat mostrará estadísticas sobre los procesos del sistema, memoria, intercambio, E / S y el rendimiento de la CPU. Para mostrar estadísticas, los datos se recopilan desde la última vez que se ejecutó el comando hasta el presente. En caso de que el comando nunca se ejecute, los datos serán desde el último reinicio hasta la hora actual.
En varios sistemas de CPU, vmstat promedia el número de CPU en la salida. El comando vmstat actualiza su salida como el comando top.
El siguiente comando actualizará su informe cada 5 segundos hasta que haya una interrupción.
# vmstat 5
El siguiente comando mostrará los datos que se actualizarán cada 5 segundos y los valores se volverán a medir y se informarán cada 1 segundo.
# vmstat 1 5
El la primera línea imprime los valores promedio desde la última vez que se reinició la computadora. El resto de las líneas mostrarán sus respectivos valores actuales. Un usuario normal puede ejecutar el comando vmstat.
4) Mpstat
Mpstat es parte del paquete sysstat en Linux. El comando mpstat escribe en la salida estándar sobre las actividades de cada procesador disponible, siendo el procesador 0 el primero. Si no se ha seleccionado ninguna actividad, el informe predeterminado es el informe de utilización de la CPU.
mpstat sin ninguna opción mostrará las actividades promedio globales de todas las CPU
# mpstat
mpstat con la opción -p y «ALL» enumerará las estadísticas de todas las CPU una por una comenzando desde 0.
# mpstat -P ALL
El siguiente comando enumerar el uso promedio de CPU por 4 veces, cada una después de 2 segundos.
# mpstat -P ALL 2 4
5) Sar
El sar es una herramienta de monitoreo de rendimiento para recopilar, ver y registrar datos de rendimiento y puede enumerar lo que hace un sistema todo el tiempo. El comando Sar puede generar informes y enviarlos por correo electrónico al administrador del sistema. Las estadísticas reportadas por sar incluyen tasas de transferencia de E / S, actividad de paginación, actividades relacionadas con el proceso, interrupciones, actividad de la red, uso de memoria y espacio de intercambio, uso de CPU, actividades del kernel y estadísticas de TTY, entre otros. Ejecute sar sin ninguna opción y verifique el resultado. Las estadísticas de la lista de salida predeterminada para cada 10 minutos y un promedio final.
# sar
Muestra las estadísticas de la CPU 3 veces con un intervalo de 2 segundos.
# sar 2 3
El siguiente comando muestra el uso acumulativo de CPU en tiempo real de toda la CPU por cada 2 segundos un total de 3 veces.
# sar -u 2 3
La opción «-P ALL» muestra estadísticas para TODOS los Cores individuales. Si su sistema tiene 4 núcleos, la «columna de CPU» contendrá el número 0, 1, 2, 3 indicando los números de núcleo de CPU correspondientes.La opción «2 3» muestra las estadísticas cada 2 segundos durante 3 veces.
# sar -P ALL 2 3
La opción «-P 2» muestra las estadísticas del tercer núcleo cada 2 segundos 3 veces.
# sar -P 2 2 3
6) CoreFreq
CoreFreq es un software de supervisión del rendimiento de la CPU diseñado para procesadores de 64 bits con arquitecturas Intel Atom, Core2, Nehalem, SandyBridge y superior, AMD Family. CoreFreq proporciona un marco para recuperar datos de CPU con un alto grado de precisión. El módulo del kernel, el demonio y la interfaz de línea de comandos (CLI) del área de usuario son las tres partes de Corefreq. El módulo del kernel tendrá acceso completo al host. Es su responsabilidad recopilar los datos de bajo nivel. El demonio del espacio de usuario recopila los datos. Debe ser usuario root para ejecutar el demonio. Finalmente, CoreFreq viene con una interfaz de terminal para reportar datos en un formato agradable y legible por humanos. Esa herramienta CLI es un proceso ordinario y puede ser utilizada por el usuario final.
Requisito previo
i) CoreFreq usa el contador de bajo nivel y, por lo tanto, primero debe deshabilitar el perro guardián de NMI a través de / etc / default / grub. Edite / etc / default / grub y agregue el argumento de línea de comando del kernel «nmi_watchdog = 0» y luego ejecute update-grub.
# vi /etc/default/grub
.................... .................... GRUB_CMDLINE_LINUX="nmi_watchdog=0" .................... ....................
# update-grub && reboot
ii) Sin virtualización. Las máquinas virtuales no proporcionan acceso a los registros que emplea el controlador CoreFreq.
Instale CoreFreq
Instale el módulo del kernel con insmod
# sudo insmod corefreqk.ko
Enumere el módulo CoreFreq con lsmod
# lsmod | grep corefreq corefreqk 49152 0
La salida del comando dmesg muestra que el procesador ha reconocido CoreFreq.
# sudo dmesg | grep CoreFreq CoreFreq: Processor Architecture CPU
Inicie el demonio CoreFreq
# sudo ./corefreqd -i &
Ahora inicie el cliente corefreq como usuario.
# ./corefreq-cli
7) Htop
Htop es un visor de procesos y una aplicación en modo texto para el monitoreo del sistema en tiempo real como top. Muestra un completo lista de los procesos que se están ejecutando y es fácil de usar. Se basa en ncurses para ver los procesos en un entorno similar a una GUI que se ejecuta en la terminal. Htop muestra el uso por CPU junto con la memoria y el uso de intercambio con un gráfico de texto significativo impreso en la parte superior. Htop es muy cómodo de usar y fácil de entender. Una vez que empiece a usar HTOP, y Es posible que no regrese a ARRIBA.
Instale htop usando el siguiente comando en la terminal
# sudo apt-get install htop
Ejecute htop usando el siguiente comando.
# htop
8) Nmon
nmon (Nigel’s Performance Monitor para Linux & AIX) ha sido desarrollado por el empleado de IBM Nigel Griffiths. Esta herramienta se utiliza para monitorear los recursos del sistema como CPU, memoria, red, discos, sistemas de archivos, NFS, procesos principales en el terminal. NMON admite varias arquitecturas como POWER, x86, x86_64, Mainframe y ARM (Raspberry Pi). Esta herramienta ayuda al administrador del sistema a ajustar, comparar la información de rendimiento para solucionar problemas de rendimiento de la CPU / sistema cuando hay algunos problemas. Para el monitoreo en tiempo real, utiliza la biblioteca de curses para un bajo impacto de la CPU y muestra estadísticas en la pantalla y se actualiza cada dos segundos. nmon consume menos memoria de CPU en comparación con otras herramientas, ya que usa la biblioteca de curses.
Instalación
# sudo apt-get install nmon (Ubuntu) # sudo yum install nmon (CentOS)
Los usuarios de CentOS necesitan instalar / habilitar Repositorio EPEL para instalar nmon.
Escriba nmon en la terminal y presione enter, nmon mostrará una pantalla de bienvenida con todas las opciones para usarlo más. Si desea mostrar la utilización de la CPU, presione cy para ocultar las estadísticas de los widgets de utilización de la CPU, presione «c» nuevamente.
9) Glances
Glances es una herramienta de monitoreo multiplataforma basada en maldiciones escrita en Python que usa la biblioteca psutil para obtener datos del sistema. Supervise la CPU, el promedio de carga, la memoria, las interfaces de red, las E / S de disco, los procesos y la utilización de los espacios del sistema de archivos.
Instale Glances en su sistema con el siguiente comando.
En Ubuntu :
# sudo apt-get install glances
En Centos:
# sudo yum install glances
Puede ejecutar Glances en 3 modos:
1. Independiente
Si desea monitorear su máquina local (Independiente), simplemente ejecute-
# glances
2. Cliente / Servidor
Si desea monitorear remotamente una máquina, ejecute lo siguiente en el servidor.
# glances -s
y luego desde el cliente , ejecute el siguiente comando.
# glances -c @server
donde @server es la dirección IP o el nombre de host del servidor.
3. Servidor web
Ejecute las miradas en modo servidor web ejecutando el siguiente comando en la terminal.
# glances -w Glances web server started on http://0.0.0.0:61208/
Para cambiar la frecuencia de actualización del página, simplemente agregue el punto en segundos al final de la URL. Por ejemplo, para actualizar la página cada 30 segundos, agregue 10 a la URL del servidor de miradas desde el navegador.
http://@server:61208/30
10) Cpustat
Cpustat es como una especie de top elegante que hace cosas diferentes. La mayoría de las herramientas de rendimiento promedian el uso de la CPU durante unos segundos o incluso un minuto. Esto da como resultado una fantasía de exceso de capacidad debido a un aumento abrupto en el uso de recursos que se combina con períodos menos ocupados. Por otro lado, cpustat toma muestras de mayor frecuencia de cada proceso y resume estas muestras a menor frecuencia. Por ejemplo, puede medir un proceso cada 200 ms y resumir las muestras cada 5 segundos, incluidos los valores mínimo / promedio / máximo para algunas métricas.
Instalar Cpustat
Cpustat está escrito en el idioma Go. Por lo tanto, necesita GO en su sistema. Si no está allí, instálelo usando los siguientes comandos en la terminal.
En Ubuntu
# sudo add-apt-repository ppa:longsleep/golang-backports # sudo apt-get update # sudo apt-get install golang-go
En CentOS
# yum install golang
Una vez que Golang esté instalado en su sistema, cree un directorio para Cpustat y haga que este directorio esté disponible para GOPATH.
# mkdir cpustat # export GOPATH=$HOME/cpustat
Instale Cpustat y verifique que los directorios estén copiados en la carpeta cpustat.
# go get github.com/uber-common/cpustat # cd cpustat && ls
Agregue la carpeta bin a la variable de entorno PATH. También puede agregar la siguiente línea a ~ / .bashrc o / etc / profile dependiendo de lo que esté usando.
# export PATH=$PATH:/root/cpustat/bin
Hay dos formas de mostrar esto datos. Ya sea una lista de texto puro del intervalo de resumen o un panel de control de desplazamiento colorido de cada muestra. Para mostrar datos en modo de terminal elegante, ejecute el siguiente comando en el terminal.
# cpustat -t
Para ejecutar en modo de texto puro, use el siguiente comando. En el modo de texto, pocas métricas de resumen de todo el sistema provienen de / proc / stat.
# cpustat
El siguiente comando tomará una muestra de todos los procesos en cada 500ms y resuma estos datos después de 10 muestras, que es cada 5 segundos.
# cpustat -s 500 -s 10 -n 20
Use el siguiente comando para medir los procesos que son propiedad del usuario root o ubuntu. Se seguirán midiendo las estadísticas generales del sistema.
# cpustat -u root, ubuntu
Solo mida los procesos de «apache» o «mysql». La opción -p de cpustat toma una lista de identificadores de proceso devueltos por pgrep. pgrep se usa para obtener los identificadores de proceso (opción -d).
# cpustat -p $(pgrep -d, apache2\|mysqld)
Use el siguiente comando para escribir el perfil de memoria en un archivo.
# cpustat -memprofile test.txt
11) perf
Perf puede medir los contadores de rendimiento de la CPU, los puntos de seguimiento, los kprobes y los uprobes incluidos en el kernel de Linux, en tools / perf. perf comenzó como una herramienta para usar el subsistema de contadores de rendimiento en Linux y ha tenido varias mejoras para agregar capacidades de seguimiento. Las herramientas perf están integradas en el kernel de Linux desde la versión 2.6 y están basadas en el subsistema de eventos perf. El perfilador de perfiles utiliza contadores de hardware para perfilar la aplicación. El resultado de este generador de perfiles es explícito y rápido. La utilidad perf se puede encontrar en el paquete linux-tools.
Measure entire system for 10 seconds using perf.
# perf stat -a -- sleep 10
Si está interesado en encontrar el rendimiento de la CPU para un» comando «en particular como cp. El siguiente comando perf perfilará cp mientras copia el directorio completo Documentos a una nueva ubicación (Docs).
# perf stat cp -r Documents/ Docs
Si desea encontrar estadísticas de contador de CPU para un PID especificado y luego use el siguiente comando hasta que se presione CTRL + C.
# perf stat -p 2087
Encuentre las estadísticas básicas de la CPU, en todo el sistema, durante 10 segundos usando el siguiente perf mando. También puede omitir cualquiera de las opciones de la opción -e para ser más específico.
# perf stat -e cycles,instructions,cache-references,cache-misses,bus-cycles -a sleep 10
Recopile instrucciones de usuario en la CPU de muestra, durante 5 segundos y luego use el informe de rendimiento para ver el informe.
# perf record -e cycles:u -a -- sleep 5 # perf report
Recopile seguimientos de pila de CPU de muestra, una vez cada 10,000 fallas de caché de datos de nivel 1, durante 5 segundos y luego use el informe de rendimiento para ver el informe.
# perf record -e L1-dcache-load-misses -c 10000 -ag -- sleep 5 # perf report
12) tiptop
Tiptop lee los contadores de rendimiento del hardware y muestra estadísticas sobre la ejecución de procesos Linux, como IPC , o fallas de caché. Proporciona una vista dinámica en tiempo real de las tareas que se ejecutan en el sistema. Tiptop es muy similar a top, pero la información que se muestra proviene de contadores de hardware.
Tiene dos modos de ejecución, modo en vivo y modo por lotes. En ambos modos, el sistema es consultado periódicamente por los valores de los contadores de hardware, y se imprimen varias relaciones para cada tarea.
13) comando ps
Podemos usar el comando ps para encontrar uso de la CPU para cada proceso o usuario. Dados algunos ejemplos para entender
Para mostrar la CPU más alta & Utilización de memoria por procesos ejecutados por root.
Ejecute el siguiente comando para mostrar el uso de CPU para el comando específico:
Para mostrar procesos para todos los usuarios y no adjuntos a una terminal en una lista de formato completo con una clasificación
14) Comando dstat
El comando dstat es una herramienta versátil para generar estadísticas de recursos del sistema y también mostraría estadísticas de CPU. Necesita instalarlo para poder usarlo
En Centos
# yum install -y dstat
En Ubuntu
# apt-get install dstat
Para monitorear el programa que usa más CPU y consume la mayor cantidad de memoria.
# dstat -c --top-cpu -dn --top-mem
Conclusión
En este tutorial, hemos explorado algunas herramientas de monitoreo del rendimiento de la CPU junto con sus usos. Asegúrese de leer las páginas de manual de cada uno de ellos, ya que también documenta los usos en detalle. Recuerde que el uso de estas herramientas también requiere una porción de CPU. Por ejemplo, la parte superior ocupa del 3% al 4% de la CPU, mientras que las miradas toman del 15% al 20% de la CPU. Entonces, al usar cualquiera de estos, debe considerar este aspecto también. En pocas palabras, podrá encontrar qué proceso está tomando más tiempo de CPU, si hay suficiente memoria libre, si los procesos están detenidos mientras esperan la visualización de E / S. acceso a disco o red para completar lectura / escritura y mucho más usando una combinación de algunos de ellos.
Lea también:
- Cómo monitorear el rendimiento de Linux usando el comando Sar
- Instale htop 2.0.2 y use la línea de comandos en Linux