Sepa cuánto consume CPU o memoria un proceso individual o en todo el sistema.
Como administrador de sistemas, a menudo tiene que lidiar con un incidente en el que la aplicación es lenta o no responde debido a una alta utilización de CPU / memoria / red. Si el servidor aloja solo un proceso, es fácil saber cuándo el proceso consume todos los recursos. Sin embargo, imagine un servidor compartido en el que se ejecutan varios servicios y necesita encontrar cuál consume todos los recursos.
Hay muchas software de monitoreo que hace esto fuera de la caja. Pero si no tiene uno o está buscando una solución basada en comandos, aquí tiene. ¡Todos son GRATIS!
top
Es posible que desee comenzar investigando top
or htop
resultado para ver la descripción general de los procesos.
Como puede ver a continuación, brinda una excelente idea sobre lo que utilizan todos los procesos. Si nos fijamos en el primero, que es MySQL, ocupa el 11.9% de la CPU y el 2.5% de la CPU.
top - 11:57:33 up 0 min, 1 user, load average: 3.69, 0.96, 0.32
Tasks: 165 total, 2 running, 113 sleeping, 0 stopped, 0 zombie
%Cpu(s): 21.0 us, 5.5 sy, 0.0 ni, 70.5 id, 1.7 wa, 0.0 hi, 1.3 si, 0.0 st
KiB Mem : 7637308 total, 5802888 free, 849512 used, 984908 buff/cache
KiB Swap: 0 total, 0 free, 0 used. 6495648 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1986 netdata 20 0 1738856 191560 22948 S 11.6 2.5 0:02.30 mysqld
3021 www-data 20 0 255288 78420 55484 S 6.6 1.0 0:01.55 php-fpm
3138 www-data 20 0 253096 79780 59228 S 6.6 1.0 0:00.92 php-fpm
3153 www-data 20 0 255116 79088 56472 S 5.0 1.0 0:00.70 php-fpm
3037 www-data 20 0 257200 81088 56216 S 4.3 1.1 0:01.50 php-fpm
3048 www-data 20 0 257088 78740 55380 S 4.3 1.0 0:01.46 php-fpm
3054 www-data 20 0 254160 72168 52108 S 3.7 0.9 0:01.32 php-fpm
3135 www-data 20 0 255084 75912 54836 S 3.7 1.0 0:00.91 php-fpm
3051 www-data 20 0 254096 73804 51964 S 3.0 1.0 0:01.38 php-fpm
2962 www-data 20 0 45280 7284 3488 R 2.0 0.1 0:00.22 openresty
1062 netdata 20 0 338748 76144 6720 S 1.0 1.0 0:01.31 netdata
1702 netdata 20 0 21852 4232 2352 S 1.0 0.1 0:00.34 apps.plugin
1729 netdata 20 0 18636 3280 2764 S 0.7 0.0 0:00.05 bash
1980 netdata 20 0 62008 12896 5796 S 0.7 0.2 0:00.14 redis-server
11 root 20 0 0 0 0 I 0.3 0.0 0:00.14 rcu_sched
1007 root 20 0 1347424 74524 38872 S 0.3 1.0 0:00.92 dockerd
1857 root 20 0 10600 5564 4276 S 0.3 0.1 0:00.03 containerd-shim
2045 root 20 0 9948 6028 5016 S 0.3 0.1 0:00.14 forego
2934 root 20 0 13616 8760 5928 S 0.3 0.1 0:00.07 docker-gen
2966 systemd+ 20 0 25784 7924 2340 S 0.3 0.1 0:00.06 nginx
La top
está instalado en casi todas las distribuciones de Linux.
Una vez que identifique al sospechoso, es posible que desee concentrarse en ese proceso en lugar de en todo lo que vio anteriormente. Todavía puedes usar top
comando pero con algún argumento.
Digamos que conoce el ID del proceso (PID); puede utilizar el siguiente comando.
top -p $PID
A continuación un ejemplo de top -p 3102
top - 11:59:56 up 3 min, 1 user, load average: 0.72, 0.70, 0.31
Tasks: 1 total, 0 running, 1 sleeping, 0 stopped, 0 zombie
%Cpu(s): 7.1 us, 2.9 sy, 0.0 ni, 89.1 id, 0.3 wa, 0.0 hi, 0.7 si, 0.0 st
KiB Mem : 7637308 total, 5802024 free, 783672 used, 1051612 buff/cache
KiB Swap: 0 total, 0 free, 0 used. 6555636 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
3102 www-data 20 0 329500 82376 60640 S 0.0 1.1 0:03.35 php-fpm
También puedes usar grep
a top
. A continuación, un ejemplo de comprobación Docker utilización.
root@geekflare-com:~# top | grep docker
1007 root 20 0 1347424 74524 38872 S 0.3 1.0 0:01.38 dockerd
2934 root 20 0 14676 9652 5928 S 0.3 0.1 0:00.54 docker-gen
1007 root 20 0 1347424 74524 38872 S 0.3 1.0 0:01.39 dockerd
1007 root 20 0 1347424 74524 38872 S 1.0 1.0 0:01.42 dockerd
2934 root 20 0 14740 9652 5928 S 0.3 0.1 0:00.55 docker-gen
2934 root 20 0 14740 9652 5928 S 0.3 0.1 0:00.56 docker-gen
htop
Similar al top pero con más información. Como puede, obtuvo la columna de comando, que es útil para identificar la ruta del proceso. Y también es colorido.

Es posible que htop no esté instalado de forma predeterminada, pero siempre puede hacerlo de la siguiente manera.
Instalar htop en Ubuntu
apt-get install htop
Instale htop en CentOS / RHEL 8.x
dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
dnf update
dnf install htop
glances
Como dice el nombre, obtiene una vista de utilización del sistema en una sola pantalla. Los procesos en ejecución están ordenados por su utilización de CPU.

solicite instalar miradas en CentOS 8 usando DNF como se muestra a continuación.
dnf install glances
para CentOS7, puede usar YUM
yum install glances
atop
Una similar a la listada anteriormente pero con una característica brillante para registrar la salida en un archivo para que pueda verlos más tarde. Imagine que existe un patrón de tener un problema en una ventana de tiempo específica. Puede programar para escribir la salida en un archivo a través de crontab u otro, y luego puede reproducir.
Para grabar la salida en un archivo:
atop -w filename
y, para reproducir:
atop -r filename
Admite múltiples argumentos como intervalo, muestras, etc. y recomiendo encarecidamente echar un vistazo a la página del manual.
Si solo está interesado en la resolución de problemas en tiempo real, simplemente ejecute atop
y debería ver como a continuación.

Puede instalar encima de la siguiente manera.
dnf install atop
ps
Vamos a revisar ps
comando ahora.
Puede usar el comando ps con PID para imprimir su CPU y uso de memoria.
ps -p $PID -o %cpu,%mem
La salida debería verse así.
root@sr-master-us:~# ps -p 1048 -o %cpu,%mem
%CPU %MEM
0.2 3.0
root@sr-master-us:~#
nmon
Herramienta de monitoreo de línea de comandos interactiva para CPU, memoria, discos, red, NFS y utilización de memoria virtual. Para ver el proceso superior (por utilización), puede ejecutar nmon
y pulse t
del botón.

Puede instalar nmon como se muestra a continuación.
dnf install nmon
Monit
Monit es una solución de código abierto basada en la web y de línea de comandos para monitorear los recursos del servidor, demonios, archivos, directorios, sistemas de archivos, etc.

Monit también tiene un widget genial.
Su software de monitoreo de peso ligero. Pero, hay más para explora aquí.
Monitorix
Una utilidad ligera de código abierto para monitorear el servidor Linux. Monitorix tiene HTTP incorporado para que pueda verificar la utilización y otras cosas en la web. Algunos de los otros informes de uso incluyen:
- Kernal / temperatura
- Sistema de archivos y E / S
- Tráfico de red
- Apache / Correo / FTP / Nginx
- MySQL / Varnish / Memcached
Monitorix también ofrece configuración de alertas para que pueda recibir notificaciones cuando las cosas no estén bien. Será una buena elección cuando esté gestionando servidores basados en la nube y buscando una solución de monitoreo proactivo.
Netdata
datos de red es un monitoreo de rendimiento en tiempo real para recursos del sistema, aplicaciones, servidores web, bases de datos, DNS, correo, sensores de hardware y mucho más. Es de código abierto y comenzar es fácil. Todos los datos se recopilan, almacenan y transmiten para que los visualice de forma interactiva. Los datos se recopilan cada segundo, para que nunca se pierda nada.

Amado por muchos líderes de la industria.

Entonces, ¿qué estás esperando? Prueba y toma el control de tus servidores Linux.
btop
arriba es un práctico monitor de recursos completamente interactivo con una hermosa interfaz de usuario que lo ayuda a administrar los servidores Linux.

Puede visualizar fácilmente los procesos en una vista de árbol, filtrar desde la lista de procesos y administrar los acaparadores de recursos. btop también viene con un gráfico de escalado automático que muestra el uso de la red.
Además, también puede verificar la velocidad del disco y completar la actividad de E/S.
Hay más de esto que puede experimentar en Linux, FreeBSD y macOS.
Conclusión
Espero que las herramientas anteriores le ayuden a visualizar la utilización del servidor en tiempo real para que pueda tomar las medidas necesarias. Si acaba de comenzar como administrador de sistemas y desea obtener capacitación práctica, consulte este Curso Udemy.