Geekflare cuenta con el apoyo de nuestra audiencia. Podemos ganar comisiones de afiliados comprando enlaces en este sitio.
Comparte en:

¿Cómo monitorear la CPU y la memoria en Linux?

Escáner de seguridad de aplicaciones web Invicti – la única solución que ofrece verificación automática de vulnerabilidades con Proof-Based Scanning™.

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.

Video de Youtube

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.

btop: monitor de recursos de 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.

Gracias a nuestros patrocinadores
Más lecturas excelentes sobre Linux
Impulse su negocio
Algunas de las herramientas y servicios para ayudar a que su negocio crezca.
  • Invicti utiliza Proof-Based Scanning™ para verificar automáticamente las vulnerabilidades identificadas y generar resultados procesables en cuestión de horas.
    Prueba Invicti
  • Web scraping, proxy residencial, administrador de proxy, desbloqueador web, rastreador de motores de búsqueda y todo lo que necesita para recopilar datos web.
    Prueba Brightdata
  • Semrush es una solución de marketing digital todo en uno con más de 50 herramientas en SEO, redes sociales y marketing de contenido.
    Prueba Semrush
  • Intruder es un escáner de vulnerabilidades en línea que encuentra debilidades de ciberseguridad en su infraestructura, para evitar costosas filtraciones de datos.
    Intente Intruder