Cómo usar htop para ver procesos en Linux

Cuando el ordenador se vuelve lento, el ventilador no para o un programa deja de responder, htop nos permite ver qué está ocurriendo sin empezar a cerrar procesos al azar. Muestra el consumo de CPU y memoria, la relación entre procesos y el comando con el que se inició cada uno.

La parte útil no es sólo instalarlo. Hay que saber ordenar la lista, distinguir la memoria realmente residente de la memoria virtual y enviar la señal adecuada si un programa se ha quedado bloqueado.

Instalar htop

En Ubuntu, Debian y Linux Mint está disponible en los repositorios:

sudo apt update
sudo apt install htop

En Fedora utilizamos:

sudo dnf install htop

Y en Arch Linux y distribuciones derivadas:

sudo pacman -S htop

Podemos comprobar la versión y abrirlo con:

htop --version
htop
htop mostrando barras de CPU y una lista de procesos
En la parte superior vemos CPU, memoria, swap, tareas y carga; debajo aparece cada proceso.

Encontrar el proceso que consume CPU

Dentro de htop pulsamos P para ordenar por CPU. También podemos usar F6 y escoger CPU%. Conviene observar la lista durante unos segundos: un proceso puede subir mientras abre una página o comprime un archivo y volver después a valores normales.

En un ordenador con varios núcleos, un proceso con varios hilos puede superar el 100 % según la configuración de htop. No significa que haya roto el medidor; está utilizando más de una CPU lógica. Para identificarlo miramos también TIME+, que acumula el tiempo de procesador consumido.

Si conocemos parte del nombre, F3 o / busca la siguiente coincidencia. F4 o \ filtra la lista y deja visibles únicamente los procesos que contienen ese texto. La búsqueda y el filtro no hacen exactamente lo mismo.

Entender la memoria: RES no es VIRT

Para ordenar por memoria pulsamos M. Las columnas que más confusión producen son estas:

  • VIRT: espacio de direcciones virtual reservado por el proceso. Puede incluir bibliotecas, archivos mapeados y memoria que todavía no ocupa RAM física.
  • RES: memoria residente en RAM en ese momento. Es más útil para detectar un proceso que está creciendo.
  • SHR: parte de la memoria que puede estar compartida con otros procesos. No debemos sumar sin más todos los valores RES para calcular el uso total.
  • MEM%: porcentaje de memoria física que representa el proceso.

Linux utiliza memoria libre como caché y la recupera cuando otra aplicación la necesita. Ver poca memoria completamente vacía no demuestra por sí solo que tengamos que «liberar RAM». Si la swap crece, el sistema se bloquea o un proceso aumenta continuamente, entonces sí tenemos una pista que investigar. En esta otra guía explicamos cómo interpretar RAM y swap sin vaciarlas por costumbre.

Ver qué proceso ha iniciado a otro

Con F5 o t activamos la vista en árbol. Así podemos ver, por ejemplo, que varias pestañas o procesos auxiliares pertenecen al mismo navegador. Antes de detener un hijo conviene comprobar si el problema procede realmente del proceso principal.

Las teclas + y – expanden o contraen una rama. Si sólo queremos ver nuestros procesos, pulsamos u y escogemos el usuario. También podemos abrir directamente esa vista desde la terminal:

htop --user

Detener un proceso sin usar SIGKILL a la primera

Si una aplicación no responde, primero intentamos cerrarla desde su ventana. Si no funciona, seleccionamos el proceso en htop, pulsamos F9 y elegimos 15 SIGTERM. Esta señal permite que el programa cierre archivos y termine de forma ordenada.

9 SIGKILL fuerza la terminación inmediata. Debe quedar como último recurso, porque el proceso no puede guardar ni limpiar su estado. Tampoco conviene ejecutar htop con sudo por defecto: sin privilegios podemos observar todo lo necesario y sólo actuar sobre procesos de nuestro usuario.

Para investigar un servidor sin riesgo de enviar señales o cambiar prioridades podemos abrir una sesión de sólo lectura:

htop --readonly

La documentación oficial de htop recoge el resto de teclas y columnas. Con ordenar por CPU, ordenar por memoria, filtrar y usar el árbol ya podemos resolver la mayoría de diagnósticos cotidianos sin tocar procesos que no conocemos. Si os aparece algún valor extraño, podéis dejarlo en los comentarios indicando la distribución y la versión de htop.

Sergio Almela

Senior Software Engineer con más de diez años de experiencia. Escribo sobre Linux, software libre, backend, arquitectura, rendimiento, testing e IA aplicada al desarrollo.

Ver todas las entradas de Sergio Almela →

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *