Vigila daemons y agentes que podrían ralentizar tu Mac

Las aplicaciones en segundo plano pueden estar ralentizando tu Mac.

Aquí te mostramos cómo solucionar ese posible impacto en el rendimiento de tu Mac.

En cualquier sistema informático basado en UNIX, incluido macOS, el sistema operativo ejecuta una variedad de procesos en segundo plano para realizar ciertas tareas en silencio. En macOS, estos generalmente se dividen en dos categorías: daemons y agentes.

Un daemon (demonio, en la jerga popular) es una tarea de fondo sin rostro que se ejecuta continuamente para realizar algunas tareas. Hay varios daemons comunes en macOS: launchd para lanzar otros procesos, accounts (que administra las cuentas de usuario), cloudd – que ejecuta los servicios de iCloud, bluetoothd – para los servicios de BlueTooth y muchos otros.

Los agentes son como los demonios, aplicaciones en segundo plano a las que se les permite interactuar con aplicaciones en primer plano y ocasionalmente presentar pequeñas interfaces de usuario. securityd es uno de esos ejemplos, ya que ves a este agente en acción cada vez que tu Mac pide una contraseña de administrador.

Puedes ver la mayoría de los procesos, incluidos los daemons y los agentes, si abres el Monitor de Actividad de macOS (en la carpeta Utilidades). También encontrarás detalles de cada proceso que está en marcha en el Terminal si escribes top y presionas  Retorno.

La mayoría de los demonios y agentes del sistema de Apple han sido bien refinados a lo largo de los años. Después de décadas de desarrollo, funcionan sin problemas, por lo que casi nunca los notas.

Pero también existen daemons y agentes de terceros. Si están mal escritos, pueden funcionar mal, acaparar el tiempo de la CPU, causar un acceso excesivo al disco y comportarse de maneras que puedan ralentizar tu Mac.

Ubicaciones

Actualmente en macOS, los demonios y los agentes viven en dos carpetas dentro de la carpeta /Library: LaunchAgents y LaunchDaemons.

En realidad, los binarios demonio y agente que se ejecutan no viven en estas carpetas, sino que los archivos .plist o de lista de propiedades viven en ambas ubicaciones. Los archivos .plist son archivos XML que contienen pares clave-valor, siendo cada clave un nombre con un valor correspondiente.

También hay una segunda carpeta LaunchAgents en la carpeta Biblioteca de su usuario. Puedes abrir y ver archivos .plist en la mayoría de los editores de texto, o en el propio IDE de Apple, Xcode.

Cada archivo .plist contiene una descripción de cada demonio o agente, junto con datos adicionales que indican al sistema cuándo y cómo ejecutarlo. Un campo en cada .plist se llama “ProgramArguments”, que es una matriz de elementos que incluyen rutas en el sistema de archivos donde residen realmente los binarios que se van a ejecutar.

Por ejemplo, en el archivo XQuartz org.xquartz.startx.plist en la carpeta /Library/LaunchAgents, la matriz ProgramArguments contiene cuatro elementos de texto, tres de los cuales contienen rutas a otras partes del sistema de archivos:

  1. /opt/X11/libexec/launchd_startx
  2. /opt/X11/bin/startx
  3. /opt/X11/bin/Xquartz

Cada una de estas tres rutas apunta a binarios que el sistema ejecutará en varios momentos, todos ellos en la carpeta invisible /opt instalada por XQuartz en el momento de la instalación. Algunos .plists también pueden contener información de lanzamiento para cada demonio o agente, como en qué intervalo lanzarlos y durante cuánto tiempo.

Los campos adicionales en el .plist en este ejemplo incluyen un parámetro de socket UNIX, una clave “ServiceIPC” y una clave “EnableTransactions”.

“IPC” es la abreviatura de Comunicación Interproceso (InterProcess Communication). Piensa en IPC (o en la terminología de Apple, XPC) como una tubería que conecta dos procesos en tu Mac a lo largo de los cuales viaja la comunicación.

Cuando tu Mac se inicia, macOS pasa por las carpetas LaunchAgents y LaunchDaemons, leyendo todos los archivos .plist. También toma notas sobre lo que hay que lanzar, dónde viven esos elementos en el disco, a qué intervalo lanzarlos y durante cuánto tiempo permitir que se ejecuten.

Cuando llega el tiempo especificado, los binarios en las rutas indicadas se inician y se ejecutan. Algunos demonios y agentes se ejecutan continuamente, mientras que otros solo se ejecutan periódicamente.

Los actualizadores automáticos son buenos ejemplos de demonios que se ejecutan de vez en cuando y luego se cierran después de haber terminado sus tareas de actualización.

Demonios mal escritos

Si un daemon o agente está mal escrito, puede ser ineficiente y funcionar lentamente, lo que reduce el rendimiento general del sistema. Si el código de un demonio es demasiado lento, o tarda demasiado en completar algunas tareas, o si consume demasiado tiempo de CPU, puede ralentizar el sistema.

Si muchos de los demonios y agentes mal escritos se ejecutan a la vez, sentirás una desaceleración notable en el rendimiento general del sistema.

Herramientas de ayuda privilegiadas

También en la carpeta de la biblioteca de tu Mac hay otra carpeta llamada “PrivilegedHelperTools”. Estos binarios también se lanzan a través de archivos .plist almacenados en LaunchAgents y LaunchDaemons.

Una herramienta de ayuda privilegiada es un binario ejecutable de un solo disparo que se ejecuta brevemente, y solo porque debe aumentar su nivel de privilegio en el sistema, realizar una tarea segura y luego salir.

Algunas tareas en macOS requieren acceso de superusuario y, por lo tanto, se convertirían en riesgos de seguridad si se dejaran ejecutando continuamente. Por lo tanto, las herramientas de ayuda reducen cualquier superficie de ataque al correr solo brevemente.

La lógica es que si una tarea no se está ejecutando como superusuario, es más difícil explotarla como un vector de ataque de una pieza de software maliciosa.

Eliminación de demonios y agentes lentos

Como se mencionó, si demasiados demonios y agentes se ejecutan a la vez en tu Mac, o si uno o más de ellos están mal escritos, puede ralentizar tu Mac. Para recuperar el rendimiento normal en estos casos, tendrás que identificar qué demonios o agentes están causando problemas de rendimiento, y luego desactivar sus archivos .plist y reiniciar su Mac.

Por ejemplo, se sabe que algunos agentes que se instalan como parte de algunos motores de juegos de terceros se ejecutan lentamente o hacen que el sistema se arrastre. En estos casos, es posible que desees mover los archivos .plist a un lado y luego reiniciar el sistema, lo que evitará que se inicien.

Ten en cuenta que no es necesario desinstalar completamente el software infractor, solo es necesario que muevas sus correspondientes archivos plist fuera de las carpetas LaunchAgents y LaunchDaemons en todas las ubicaciones instaladas y reinicies.

Más tarde, si deseas volver a usar el software, puede mover los archivos .plist de nuevo a su lugar, o volver a instalar el software y reiniciarlo de nuevo para restaurar la funcionalidad.

Para ver qué demonios y agentes están utilizando la mayor cantidad de recursos del sistema, puedes ejecutar el Monitor de actividad de Apple y comprobar las columnas “% CPU” y “Threads”. Estos proporcionan pistas sobre qué procesos están poniendo la carga más pesada en las CPU de tu Mac.

También puedes comprobar el uso de la memoria, la energía, el disco y la red utilizando el Monitor de Actividad.

Una vez que hayas determinado qué procesos en segundo plano están acaparando los recursos del sistema, puedes volver a las carpetas LaunchAgents y LaunchDaemons, y arrastrar sus archivos .plist correspondientes fuera de esas carpetas. Tendrás que organizar y hacer un seguimiento de los archivos .plist para que sepas a dónde devolverlos cuando quieras restaurar la funcionalidad.

Para mover los archivos .plist fuera de sus carpetas, tendrás que introducir una contraseña de administrador cuando el Finder te lo pida. No olvides reiniciar tu Mac.

Otra opción posible es modificar el contenido de cada archivo .plist si contienen intervalos y horas de lanzamiento; por ejemplo, puedes intentar aumentar el intervalo de inicio en cada archivo .plist para hacer que cada demonio se ejecute con menos frecuencia.

Pero ten mucho cuidado al hacer estas modificaciones, ya que hacerlo puede cambiar la funcionalidad del software instalado.

Los demonios y agentes diseñados para ejecutarse continuamente lo hacen por una razón, generalmente para proporcionar algún servicio en segundo plano o un servicio a una aplicación en primer plano. Deshabilitarlos causará una pérdida de funcionalidad si no se están ejecutando cuando una aplicación espera que lo estén.

Menos es más

En general, te interesa ejecutar el menor número posible de demonios y agentes en el sistema. Incluso si todos están bien escritos, cada uno de los que están funcionando añade algo de carga al sistema y la CPU, incluso si es una cantidad pequeña.

Si tienes varias docenas de demonios y agentes ejecutándose a la vez, todo se suma y comenzarán a ralentizar tu Mac.

Después de instalar un nuevo paquete de software, es posible que desee revisar las carpetas LaunchAgents y LaunchDaemons para ver qué se instaló y si los necesitas o no.

Si estás interesado en una visión en profundidad a nivel de desarrollador de cómo funcionan los demonios y los agentes en macOS, echa un vistazo a Mac Daemonology de Volodymyr Vashurkin disponible en los libros de APRESS.

También puede obtener una discusión técnica detallada sobre cómo funcionan los servicios XPC de Apple en su página web para desarrolladores.

Cortesía de Ai

Alf

Propietario de www.faq-mac.com.

0 0 votos
Article Rating
Subscribe
Notify of
2 Comments
Oldest
Newest Most Voted
Opiniones Inline
Ver todos los comentarios
rfacal
rfacal
10 months ago

Soy suscritor de fan-maq desde hace mucho tiempo. lo reviso casi todos los día y me resulta muy útil, aunque mi nivel es de usuario “normal” (nada experto). A veces las soluciones que se aportan me parecen demasiado complejas para mi nivel, pero siempre me parecen interesantes. Muchas gracias

2
0
Me encantaría saber tu opinión, por favor, deja un comentariox
()
x