Las aplicaciones ocultas en segundo plano pueden estar ralentizando tu Mac. Aquí le mostramos cómo solucionar ese impacto potencial en el rendimiento de su 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 de forma silenciosa. En macOS, generalmente se dividen en dos categorías: demonios y agentes.

Un daemon es una tarea en segundo plano sin rostro que se ejecuta continuamente para realizar algunas tareas. Hay varios demonios comunes en macOS: launchd para iniciar otros procesos, cuentas (que administra las cuentas de usuario), cloudd, que ejecuta los servicios de iCloud, bluetoothd, para los servicios de BlueTooth y muchos otros.

Similar a los demonios son agentes, aplicaciones en segundo plano que pueden interactuar con el primer plano aplicaciones y ocasionalmente presentan pequeñas interfaces de usuario. securityd es uno de esos ejemplos, ya que verá a este agente en acción cada vez que su Mac solicite una contraseña de administrador.

Puede ver la mayoría de los procesos, incluidos demonios y agentes, que se ejecutan en su Mac abriendo la aplicación Monitor de actividad de macOS ubicada en la carpeta Utilidades en su disco de inicio. También puede ver detalles sobre los procesos en ejecución en la Terminal escribiendo arriba y presionando Return.

La mayoría de los demonios y agentes del sistema de Apple se han perfeccionado a lo largo de los años. Después de décadas de desarrollo, funcionan sin problemas y sin problemas, por lo que casi nunca los nota en funcionamiento.

Pero también existen demonios y agentes de terceros. Si están mal escritos, pueden funcionar mal, acaparar el tiempo de la CPU, provocar un acceso excesivo al disco y comportarse de otra manera que puede ralentizar su Mac.

Ubicaciones

Actualmente en macOS, los demonios y agentes se encuentran en dos carpetas dentro de su carpeta/Library: LaunchAgents y LaunchDaemons.

En realidad, los archivos binarios del daemon y del agente que se ejecutan no se encuentran en estas carpetas; en cambio, los archivos.plist o de lista de propiedades se encuentran en ambas ubicaciones. Los archivos.plist son archivos XML que contienen pares clave-valor, donde cada clave es un nombre con un valor correspondiente.

También hay una segunda carpeta LaunchAgents en la carpeta Biblioteca de su usuario. Puede 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 le 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 archivos binarios que se ejecutarán.

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:

/opt/X11/libexec/launchd_startx/opt/X11/bin/startx/opt/X11/bin/Xquartz

Cada una de estas tres rutas apunta a archivos binarios que ejecutará el sistema en varios momentos, todos 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 a qué intervalo lanzarlos y por 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 entre procesos. Piense en IPC (o en la terminología de Apple, XPC) como una tubería que conecta dos procesos en su Mac a lo largo del cual viaja la comunicación.

Cuando su Mac se inicia, macOS revisa los LaunchAgents y LaunchDaemons carpetas, leyendo todos los archivos.plist. También toma notas sobre lo que debe iniciarse, dónde residen esos elementos en el disco, a qué intervalo ejecutarlos y durante cuánto tiempo permitir que se ejecuten.

Cuando llega el momento especificado, los binarios en las rutas indicadas se lanzan y 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 demonio o agente está mal escrito, puede ser ineficiente y ejecutarse lentamente, lo que reduce el rendimiento general del sistema. Si el código de un demonio es demasiado lento, tarda demasiado en completar algunas tareas o consume demasiado tiempo de CPU, puede ralentizar el sistema.

Si muchos demonios y agentes mal escritos se ejecutan a la vez, notará una ralentización notable en el rendimiento general del sistema.

También en la carpeta Biblioteca de su Mac hay otra carpeta llamada”PrivilegedHelperTools”. Estos binarios también se inician a través de archivos.plist almacenados en LaunchAgents y LaunchDaemons.

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

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

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

Eliminación de agentes y demonios lentos

Como se mencionó, si se ejecutan demasiados agentes y demonios a la vez en su Mac, o si uno o más de ellos mal escrito, puede ralentizar tu Mac. Para recuperar el rendimiento normal en estos casos, deberá identificar qué demonios o agentes están causando problemas de rendimiento y luego deshabilitar 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 arrastran el sistema. En estos casos, es posible que desee mover sus archivos.plist a un lado y luego reiniciar, lo que evitará que se inicien.

Tenga en cuenta que no es necesario desinstalar por completo el software ofensivo, solo se requiere que mueva el correspondiente. elimine los archivos de las carpetas LaunchAgents y LaunchDaemons en todas las ubicaciones instaladas y reinicie. Más tarde, si desea volver a utilizar el software, puede volver a colocar los archivos.plist en su lugar o reinstalar el software y reiniciar de nuevo para restaurar la funcionalidad.

Para ver qué demonios y agentes están utilizando la mayoría de los recursos del sistema, puede ejecutar el Monitor de actividad de Apple y verificar las columnas”% CPU”y”Subprocesos”. Estos proporcionan pistas sobre qué procesos están ejerciendo la mayor carga en las CPU de su Mac.

También puede comprobar el uso de la memoria, la energía, el disco y la red mediante el Monitor de actividad.

Una vez que haya determinado qué procesos en segundo plano están acaparando los recursos de su sistema , puede regresar a las carpetas LaunchAgents y LaunchDaemons y arrastrar sus archivos.plist correspondientes fuera de esas carpetas. Deberá organizar y realizar un seguimiento de los archivos.plist para saber dónde moverlos cuando desee restaurar la funcionalidad.

Para mover los archivos.plist fuera de sus carpetas instaladas, deberá ingresar una contraseña de administrador cuando el Finder se lo solicite. No olvides reiniciar tu Mac.

Otra opción posible es modificar el contenido de cada archivo.plist si contienen intervalos y horas de inicio; por ejemplo, puede intentar aumentar el intervalo de inicio en cada archivo.plist para que cada daemon correr con menos frecuencia.

Pero tenga mucho cuidado al realizar 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 provocará una pérdida de funcionalidad si no se ejecutan cuando una aplicación espera que lo hagan.

Menos es más

En general, desea ejecutar la menor cantidad posible de demonios y agentes en su sistema. Incluso si todos están bien escritos, cada uno que se agrega supone una carga para el sistema y las CPU, aunque sea una pequeña cantidad.

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

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

Si está interesado en una visión detallada a nivel de desarrollador de cómo funcionan los demonios y agentes en macOS, consulte 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.

Categories: IT Info