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

Sepa cuánto consume un proceso individual o todo el sistema CPU o memoria.


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 la alta utilización de la CPU / memoria / red. Si el servidor aloja un solo proceso, es fácil saber cuándo el proceso consume todos los recursos. Sin embargo, imagine un servidor compartido donde se ejecutan múltiples servicios, y necesita encontrar cuál está consumiendo todos los recursos.

Hay muchos programas de monitoreo que hacen esto fuera de la caja. Pero si no tienes una o buscas una solución basada en comandos, aquí tienes. Todos son GRATIS!

parte superior

Es posible que desee comenzar mirando el resultado superior o superior para ver la descripción general de los procesos.

Como puede ver a continuación, da una excelente idea sobre lo que están utilizando todos los procesos. Si nos fijamos en el primero, que es nodejs toma el 3.9% de la memoria y el 0.3% de la CPU.

La parte superior está instalada en casi todas las distribuciones de Linux.

Una vez que identifique al sospechoso, es posible que desee centrarse en ese proceso en lugar de todo lo que vio arriba. Todavía puede usar el comando superior pero con algún argumento.

Supongamos que conoce la identificación del proceso (PID); puedes usar el siguiente comando.

top -p $ PID

También puede usar grep con top. A continuación se muestra un ejemplo de comprobación de la utilización de rabbitmq.

htop

Similar a la parte superior 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..

Puede que htop no se instale de manera predeterminada, pero siempre puede hacerlo mediante apt-get install htop si usa Ubuntu.

miradas

Como su nombre lo indica, obtienes una vista de utilización del sistema en una sola pantalla. Los procesos en ejecución se ordenan por su utilización de CPU.

encima

Es similar a lo mencionado anteriormente pero con una característica brillante para grabar la salida en un archivo para que pueda verlos más tarde. Imagínese, hay 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:

encima de -w nombrearchivo

y, para reproducir:

encima de -r nombrearchivo

Es compatible con 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 encima y debería ver lo siguiente.

PD

Vamos a comprobar el comando ps ahora.

Puede usar el comando ps con PID para imprimir su CPU y utilización de memoria.

ps -p $ PID -o% cpu,% mem

La salida debería verse así.

[correo electrónico protegido]: ~ # ps -p 1048 -o% cpu,% mem
% CPU% MEM
0.2 3.0
[correo electrónico protegido]: ~ #

nmon

Herramienta interactiva de monitoreo de línea de comandos para CPU, memoria, discos, red, NFS y utilización de memoria virtual. Para ver el proceso superior (por utilización), puede ejecutar nmon y presionar el botón t.

Monit

Monit es una solución de código abierto basada en web y de línea de comandos para monitorear recursos del servidor, demonios, archivos, directorios, sistemas de archivos, etc..

Monit también tiene un widget genial.

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 / Mail / 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 opción cuando gestione servidores basados ​​en la nube y busque una solución de supervisión proactiva.

Netdata

Netdata 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 pueda visualizarlos de forma interactiva. Los datos se recopilan cada segundo, para que nunca se pierda nada..

Amado por muchos líderes de la industria..

Entonces, lo que está esperando, intente tomar el control de sus servidores Linux.

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 recién comenzaste como administrador del sistema y buscas capacitación práctica, entonces mira esto Curso Udemy.

TAGS:

  • Fuente abierta

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map