CLI AI

"¿Quién se está comiendo la CPU ahora mismo?" — monitoring de sistema en lenguaje natural

2026-04-27

Son las 9:47 de un miércoles. En #incident alguien pone "prod va lento". Te conectas por ssh y te quedas un momento intentando recordar si top ordena por CPU con Shift+M o Shift+P, si iostat por defecto va en MB/s o sectores, si ss -s muestra de verdad lo que quieres. No tienes que recordar nada de eso. Cinco preguntas te dan el cuadro.

1. Top por CPU

clai
$ clai qué 10 procesos están usando más CPU ahora mismo→ ps -eo pid,user,%cpu,%mem,comm --sort=-%cpu | head -11PID    USER  %CPU  %MEM  COMMAND8821   app   84.2  12.4  java8901   app   31.1   3.2  node

Una sola muestra no es evangelio — pero es una foto instantánea, y el 95% del tiempo apunta al proceso correcto.

2. Top por RSS

clai
$ clai top 10 procesos por memoria residente→ ps -eo pid,user,rss,%mem,comm --sort=-rss | head -11PID    USER  RSS       %MEM  COMMAND8821   app   1985432   12.4  java4567   app   1180224    7.2  node

%MEM es porcentaje; RSS son los kilobytes residentes reales. Para "quién se come la memoria" quieres RSS.

3. I/O de disco en una ventana de 10 segundos

clai
$ clai I/O de disco por dispositivo cada segundo durante 10 segundos→ iostat -dx 1 10Device  r/s     w/s    rkB/s    wkB/s   %utilsda     12.0    340.2  192.0    18432.0  87.4

%util al 87% significa que el disco es el cuello de botella ahora mismo. Sin iostat -x no tienes esa columna.

4. Memoria en unidades humanas

clai
$ clai uso de memoria en formato legible→ free -h              total   used    free   shared  buff/cache  availableMem:           15Gi   12Gi   428Mi    32Mi      2.7Gi       2.6GiSwap:         2.0Gi  1.2Gi   820Mi

-h da unidades legibles. available es la columna que de verdad responde a ¿tengo memoria? — no free, que puede engañar mostrando un número bajo.

5. Conexiones de red abiertas

clai
$ clai conexiones de red establecidas con el nombre del proceso→ ss -tnp state establishedESTAB  10.0.1.12:54322  10.0.1.50:5432  users:(("app",pid=8821))ESTAB  10.0.1.12:51002  17.253.144.10:443  users:(("clai",pid=4012))

La forma del triage

Cinco preguntas, dos minutos, tienes el cuadro: qué proceso, qué recurso, qué dispositivo, qué conexión. Habitualmente vas a correr dos o tres en cadena — top por CPU para encontrar al sospechoso, top por RSS para confirmar que es memoria, iostat para descartar disco. Más rápido que bucear por los atajos de htop.

Ver también