Linux & TerminalAdministracion AvanzadaLección 8 de 12
Procesos y Monitoreo del Sistema
Todo lo que se ejecuta en Linux es un proceso. Saber monitorear procesos y recursos del sistema es fundamental para mantener servidores saludables y detectar problemas antes de que se conviertan en caidas.
# VER PROCESOS
# ps: snapshot de procesos actuales
ps aux
# USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
# root 1 0.0 0.1 2456 1234 ? Ss Jun20 0:05 /sbin/init
# user 891 5.4 12.1 9876 5432 ? Sl 10:15 2:30 node server.js
# Filtrar procesos
ps aux | grep node
# user 891 5.4 12.1 node server.js
# user 923 0.1 1.2 node worker.js
# Ver procesos en forma de arbol
ps auxf
pstree -p
# top: monitoreo en tiempo real
top
# Presiona:
# M = ordenar por memoria
# P = ordenar por CPU
# k = matar un proceso
# q = salir
# htop: version mejorada (mas visual)
htop
# CONTROLAR PROCESOS
# Matar un proceso por PID
kill 891 # Senal SIGTERM (terminar limpiamente)
kill -9 891 # Senal SIGKILL (forzar cierre inmediato)
# Matar por nombre
killall node # Mata todos los procesos "node"
pkill -f "node server.js" # Mata por patron del comando
# Prioridad de procesos
nice -n 10 ./script_pesado.sh # Iniciar con prioridad baja
renice -n -5 -p 891 # Cambiar prioridad de proceso existente
# nice va de -20 (mas prioridad) a 19 (menos prioridad)
# Procesos en segundo plano
./backup.sh & # Ejecutar en background
Ctrl+Z # Pausar proceso actual
bg # Continuar en background
fg # Traer a primer plano
jobs # Ver procesos en background
# [1]+ Running ./backup.sh &
# [2]- Stopped vim archivo.txt
# MONITOREO DE RECURSOS
# Memoria RAM
free -h
# total used free shared buff/cache available
# Mem: 16Gi 4.2Gi 8.1Gi 256Mi 3.7Gi 11Gi
# Swap: 2.0Gi 0.0Gi 2.0Gi
# Espacio en disco
df -h
# Filesystem Size Used Avail Use% Mounted on
# /dev/sda1 50G 32G 18G 64% /
# /dev/sdb1 200G 89G 111G 45% /datos
# Que directorios ocupan mas espacio
du -sh /var/log/*
# 1.2G /var/log/syslog
# 856M /var/log/nginx
# 234M /var/log/mysql
# Top 5 directorios mas pesados
du -sh /* 2>/dev/null | sort -rh | head -5
# 12G /var
# 8.5G /home
# 3.2G /usr
# Carga del sistema (load average)
uptime
# 10:30:15 up 45 days, load average: 0.52, 0.78, 0.65
# Los 3 numeros: ultimo 1min, 5min, 15min
ConsejoSi el load average supera el numero de CPUs de tu servidor, el sistema esta sobrecargado. Usa nproc para ver cuantos CPUs tienes. Ejemplo: load 4.0 en un servidor de 2 CPUs = problemas.
Practica esta lección
Resuelve los ejercicios del curso de Linux & Terminal en la app, gratis y con corrección automática.
Empezar a practicar