Todo desarrollador de macOS acaba topándose con la misma frustración: Activity Monitor te muestra que un proceso consume CPU, pero apenas te da datos accionables para averiguar por qué. Esta guía cubre todo lo que necesitas saber sobre la monitorización de procesos en macOS, desde lo básico hasta las técnicas avanzadas que realmente te ayudan a depurar.
Respuesta rápida
Activity Monitor permite comprobar CPU y memoria e incluye una vista jerárquica de procesos. ProcXray combina esa jerarquía con variables de entorno, búsqueda regex, inspección de firmas de código y registros conservados de procesos finalizados.
¿Qué es un proceso?
En macOS, cada programa en ejecución es un proceso con un identificador de proceso (PID) único. Cuando abres tu navegador, macOS genera un proceso padre, que a su vez puede generar decenas de procesos hijos: procesos de renderizado, procesos de GPU, procesos de extensiones y más. Comprender esta jerarquía es el primer paso hacia una monitorización eficaz.
Activity Monitor permite ver las relaciones padre-hijo: elige la vista jerárquica de todos los procesos en Visualización (en inglés: View → All Processes, Hierarchically). Así puedes identificar qué proceso inició un auxiliar. Consulta la guía de Apple.
Lo básico: Activity Monitor
El Activity Monitor integrado de Apple (/Applications/Utilities/Activity Monitor.app) te ofrece:
- Uso de CPU y memoria en tiempo real por proceso
- Estadísticas básicas de red y de E/S de disco
- La posibilidad de forzar el cierre de una aplicación que se comporta mal
Es suficiente para un uso ocasional. Para los desarrolladores, se queda corto casi de inmediato.
Lo que Activity Monitor no puede hacer
Esto es lo que encontrarás rápidamente como desarrollador:
Sin variables de entorno. Cuando depuras por qué NODE_ENV o DYLD_LIBRARY_PATH es incorrecto dentro de un proceso, no tienes forma de inspeccionar el entorno real con el que se lanzó el proceso.
Sin búsqueda regex en tiempo real. Filtrar 300 procesos por nombre exige teclear con cuidado y se reinicia con frecuencia.
Los procesos de vida corta son invisibles. ¿Un sistema de compilación que crea y destruye procesos de compilador en milisegundos? Activity Monitor nunca los captura.
Usar la línea de comandos
ps, top, lsof y dtrace cubren algunas carencias:
# Mostrar el árbol de procesos
ps auxf
# Listar todos los archivos abiertos de un proceso
lsof -p <PID>
# Mostrar las variables de entorno de un proceso
ps eww -p <PID>
Son potentes, pero incómodas. ps eww vuelca el entorno como un muro de texto ilegible. La salida de lsof puede tener miles de líneas.
Un enfoque mejor: ProcXray
ProcXray es una app nativa de macOS creada específicamente para desarrolladores que necesitan más de lo que ofrece Activity Monitor. Pone a la vista los datos que de verdad necesitas:
Vista de árbol de procesos
Alterna entre una lista plana y un árbol de procesos en vivo. Visualiza las relaciones padre-hijo al instante: algo crucial al depurar scripts de shell, herramientas de compilación o apps multiproceso como Chrome o Electron.
Inspector de variables de entorno
Haz clic en cualquier proceso y cambia a la pestaña Environment. Cada variable de entorno con la que se lanzó el proceso aparece listada, es buscable y se puede copiar como JSON. Se acabó el análisis de ps eww.
Búsqueda regex en tiempo real
Escribe un patrón de regex y la lista se filtra al instante por nombres de proceso, PID, argumentos de línea de comandos y rutas. Encuentra node.*server o python3.*manage en milisegundos.
Captura de procesos de vida corta
ProcXray resalta en verde los procesos recién generados y conserva en rojo los procesos finalizados durante un intervalo configurable. Por fin verás esos procesos transitorios de compilador y enlazador que desaparecen antes de que Activity Monitor se actualice.
Verificación de firma de código
Para auditorías de seguridad, ProcXray muestra si cada proceso está firmado, por quién y qué permisos (entitlements) tiene, todo ello sin tocar la terminal.
Cuándo usar cada herramienta
| Escenario | Herramienta |
|---|---|
| Comprobación rápida de CPU/memoria | Activity Monitor |
| Depurar un proceso descontrolado | ProcXray |
| Inspeccionar el entorno de un proceso | ProcXray |
| Averiguar qué generó un proceso | ProcXray |
| Auditoría de seguridad de procesos sin firmar | ProcXray |
| Monitorización con scripts/automatizada | ps, top, dtrace |
Cómo empezar
Descarga ProcXray: es gratis, está firmado con código y notarizado por Apple. Requiere macOS 14 (Sonoma) o posterior en Apple Silicon o Intel.
Una vez instalado, sustituye tu hábito diario de Activity Monitor por algo que realmente te ayuda a avanzar más rápido.
Preguntas frecuentes
¿Cuál es la forma más rápida de averiguar qué generó un proceso sospechoso?
Usa un árbol de procesos en vivo. Las relaciones padre-hijo revelan de inmediato qué script de shell, paso de compilación o componente de la app lanzó el proceso.
¿Cómo inspecciono el entorno de un proceso en macOS?
Puedes usar ps eww -p <PID> desde la terminal, pero la inspección del entorno basada en interfaz suele ser más rápida para conjuntos grandes de variables y para análisis de incidentes repetidos.
¿Deberían los desarrolladores dejar de usar Activity Monitor por completo?
Activity Monitor permite comprobar CPU y memoria e incluye una vista jerárquica de procesos. ProcXray combina esa jerarquía con variables de entorno, búsqueda regex, inspección de firmas de código y registros conservados de procesos finalizados.