MacOS 10.10 con 4 GB de memoria: ¿qué demonios/agentes/servicios de lanzamiento puedo deshabilitar? ¿Y cómo descubrir los nombres de los culpables?

Recientemente realicé una instalación limpia de Yosemite (10.10) en mi MBP de 4 GB de 2010, pero ahora tiene demasiada memoria debido a los servicios/agentes/daemons de lanzamiento innecesarios que provoca frecuentes golpes de playa; presión de memoria excesiva.

Esto no es un duplicado ; Investigué la página de manual/docs en launchctl, launchd, Yosemite/Sierra whatsnew guides, AskDifferent, SO, Apple.com, muchos blogs/foros de entusiastas de Mac y muchos otros sitios durante más de un mes; vea los comentarios a continuación para ver ejemplos de las muchas búsquedas de palabras clave de Google que probé; Además, la respuesta es muy específica de la versión de MacOS. Esto me está volviendo loco.

Estoy buscando una configuración mínima: sin basura como iCloud, iTunes, etc. Solo el conjunto mínimo absoluto necesario para ejecutar el sistema operativo. Claramente, cosas como 'CloudPhotosConfiguration' son una exageración innecesaria. (Por razones que no abordaremos aquí, no tiene mucho sentido desde el punto de vista económico actualizar 8 GB de RAM + SSD).

Pregunta: ¿Cómo averiguo qué demonios/agentes/servicios de lanzamiento puedo desactivar de forma segura en mi MBP de mediados de 2010 con 4 GB y Yosemite 10.10?

El Monitor de actividad no muestra ballenas obvias, aunque el uso de la memoria del sistema cuando se ejecuta Safari> cuando se ejecuta Chrome. A continuación se muestra un volcado de los launchctlelementos que tenían el estado -44 (eliminado debido a una memoria inadecuada). Según la lectura de blogs, algunos son notorios (por ejemplo, com.apple.bird), algunos se cree que son innecesarios, algunos no se pueden detener de manera segura:

clear; launchctl list | awk '($2 == "-44") { print $3 }' | sed -e 's/com.apple.//g' | sort -f 

com.apple.
accountsd, AirPlayUIAgent, bird, CalendarAgent,
CallHistoryPluginHelper, CallHistorySyncHelper, cfprefsd.xpc.agent,
cloudd, CloudPhotosConfiguration, cloudphotosd,
coreservices.appleid.authentication, coreservices.uiagent,
DataDetectorsDynamicData, icloud.fmfd, iconservices.iconservicesagent,
imdpersistence.IMDPersistenceAgent, InputMethodKit.UserDictionary,
internetaccounts, MailServiceAgent, Maps.mapspushd, nsurlsessiond,
nsurlstoraged, pbs, photolibraryd, pluginkit.pkd, printtool.agent,
recentsd, secd, secinitd, security.cloudkeychainproxy3, soagent,
spindump_agent, tccd, telephonyutilities.callservicesd
Por favor, evite largas discusiones en los comentarios. Si las preguntas requieren mucho ida y vuelta, siempre existe la opción de usar una sala de chat para esto.
La pregunta tal como está escrita es bastante amplia, veo al menos dos preguntas reales allí: "¿Cómo identifico los servicios que no necesitan estar ejecutándose para las cosas que hago?" y "¿Cómo desactivo un servicio", puede haber ser aún más. Obtendrá mejores respuestas si se enfoca en una de ellas por publicación (y agrega más preguntas en publicaciones separadas). Además, la primera pregunta (cómo identificar) podría ser más fácil de responder si brinda ejemplos específicos de las cosas que desea o no desea hacer en esta Mac.
Habiendo dicho eso, me pregunto si podría ser más fácil resolver el problema del consumo de memoria en general (observando el Monitor de actividad, etc.), principalmente porque macOS generalmente hace un buen trabajo al no desperdiciar ciclos de memoria/cpu en procesos que no son necesarios. .
@patrix: la pregunta no es amplia. El objetivo principal es 1) Cómo identificar servicios/daemons/agentes innecesarios". El documento no está claro sobre cómo se relacionan 2) servicios/daemons/agentes, y creo que eliminar eso daña la pregunta, pero si insiste en que debo entonces yo supongo que tendré que hacerlo En cuanto al Monitor de actividad y al tratar de diagnosticar la presión de la memoria a partir de él, lo he estado mirando diariamente durante los últimos 7 años, no hay ballenas obvias en mi caso, y con frecuencia no lo es excelente para diagnosticar (prueba: todos los artículos sobre "Yosemite/beachballing") ¿Tienes que darme alguna presunción básica de competencia...?
No estoy cuestionando su competencia, estoy tratando de asegurarme de que tengamos preguntas que puedan responderse y que ayuden tanto al autor de la pregunta como a los futuros visitantes. "qué servicios puedo deshabilitar" y "cómo puedo deshabilitar un servicio" son preguntas diferentes, puedo responder fácilmente a una sin responder a la otra, lo que dificultará votar/aceptar una respuesta al final. Entiendo que los problemas están relacionados en su caso, sin embargo, las preguntas en sí son distintas.
@patrix: seguro, pero en los comentarios de ayer que tú (o el moderador) eliminaste por completo, seguro que había otro post. De todos modos, sabe que usted y yo eliminamos las subpreguntas menos importantes sobre la sintaxis de comandos, entonces, ¿por qué no ha dejado esto en suspenso? (no es que alguna vez debería haber sido puesto en espera en mi opinión, pero de todos modos) Se lo agradecería: en realidad tengo un problema que necesito resolver con bastante urgencia. (Como puede ver, soy un usuario de SO desde hace mucho tiempo, pero esta es la primera pregunta que me hacen en AskDifferent, y decir que la experiencia ha sido desagradable es decirlo suavemente)

Respuestas (1)

Con la esperanza de que lo siguiente esté habilitando para deshabilitar. Apple-Bloat es una preocupación tan común que debería tener su propia marca registrada. Especialmente en circunstancias o entornos que requieren un máximo de potencia de CPU, una latencia mínima o donde los usuarios tienen que arreglárselas con el hardware que tienen. Los escenarios relacionados con el audio son los más comunes.

No se puede deshabilitar lo suficiente a través de las herramientas GUI disponibles. Así que esta es una excelente pregunta para empezar. Pero estas circunstancias tienen que estar claramente definidas. Deshabilitar casi todo también puede deshabilitar todo el sistema. ¡Prepare sus copias de seguridad de arranque! No cambie nada antes de saber cómo revertirlo. Algunos de los siguientes consejos pueden ser incómodos de tratar por sus consecuencias.

Por supuesto, es el primer paso para desinstalar todo lo que no necesita que no sea de Apple, primero. Todas kext, todas LaunchDaemon, todas las aplicaciones y todos los programas que no son estrictamente necesarios tienen que desaparecer. Limpie las carpetas correspondientes en /Library/y ~/Library/. Esto también implica que el Asistente de migración ahora es tu enemigo y una instalación limpia es tu aliado.

En circunstancias muy limitadas de memoria, también se recomienda que limite el uso del escritorio como espacio de almacenamiento. Y su uso de Finder.app. Tener muchos íconos en Finder Desktop conduce a un mayor consumo de memoria. Eso significa que también el Finder tiene que irse: defaults write com.apple.finder QuitMenuItem -bool trueNo te preocupes. Esto es solo agregar un menú de salida regular a su amado administrador de archivos. Cuando no se necesita, Finder ahora se puede cerrar, permanece cerrado y libera memoria. Cuando sea necesario para operaciones relacionadas con archivos, lo recuperará con un simple clic en el primer icono del Dock.

Tienes que hacer una lista completa de cosas que sabes 'que están ahí' pero que estás seguro de que no quieres. Tienes que hacer una lista de las cosas y funciones/servicios que realmente te interesan. Ambas listas tienen que ser probadas más adelante.

Pasará bastante tiempo en el Monitor de actividad y la Consola. Este es un proceso tedioso. Después de revisar la lista de procesos en ejecución, debe investigar todo lo que no reconozca o reconozca como probablemente no deseado. Búsquelos y busque en la red el nombre del proceso.

Dado que este no es un wiki con espacio ilimitado, no puedo enumerar todos los procesos juzgados por uno o muchos como "inflados" o "pueden desactivarse de forma segura si no se desean". Eso también depende demasiado de qué más debería ir por encima de "iCloud".

Apple es realmente malo al documentar estas cosas para el usuario final promedio que solo está sentado en su sistema. Parece que macOS favorece el enfoque de "sin piezas internas reparables por el usuario". Así que tienes que evaluar con cuidado lo que encuentras en la red. Trate de detectar análisis simplistas (o al menos resúmenes/escritos simplistas) que contengan pocos detalles además de los gestos manuales que Apple sabe mejor.

¿Qué tiene de gracioso esto? De hecho, Apple sabe mejor. Simplemente eligen ocultar ese conocimiento. Está en partes en su sitio web en lugar de brindarle información sobre herramientas y documentación instalada. Esas partes que son accesibles allí están además en un formato que necesita algún procesamiento por parte del usuario final. Pruebe su suerte en Apple en, por ejemplo: Guía de programación de servicios y demonios . Por supuesto, puede y debe verificar dos veces en sus foros de usuarios (prepare un salero grande para tener listo un suministro adecuado de granos). O este mismo sitio o los otros. Solo tenga en cuenta el supuesto nivel de calidad de cada fuente.

La mayoría de los procesos que se ejecutan y se muestran en el Monitor de actividad se pueden cerrar (forzar). En general, esto es bastante seguro de hacer en un entorno de prueba cuando no hay ningún trabajo importante abierto en segundo plano o cosas por el estilo. (¡Se aplican advertencias!) De esa manera, puede probar uno por uno y ver empíricamente qué sucede:

  • ¿reaparecen inmediatamente o después de un tiempo o no hasta después de un reinicio?
  • ¿Algo inesperado no funciona después de desactivar el proceso?

Si no sucede nada inesperado, puede continuar con el siguiente paso.

Había una excelente lista de procesos conocidos y una breve explicación de los mismos llamada “Conozca sus procesos de Mac OS X”. Lamentablemente, esto desapareció, pero aún es visible en archive.org: https://web.archive.org/web/20170222052540/http://triviaware.com/macprocess/all Eso significa, por supuesto, que está un poco desactualizado para comenzar con, pero aún más actualizado que la mayoría de los principales motores de búsqueda actuales. Como estás en Yosemite, esto es menos preocupante por la situación actual.

Ahora familiarícese con launchdy launchctl. El primero es el daemon que carga toda "esta porquería" (tus palabras) y con el segundo puedes interactuar con launchd y controlarlo.

Ver que matar un proceso no tiene efectos negativos para sus necesidades significa que puede indicarle al sistema que deshabilite ese 'servicio'. Puede usar launchctlpara hacer eso o cualquiera de los programas disponibles para lograr esto con una interfaz gráfica de usuario, como

Mire el trabajo y trate de entender lo que hace. Detener un trabajo y ver qué sucede. Luego deshabilite el trabajo y vea qué sucede. Haga pausas en el medio y reinicie con frecuencia para ver que no cometió muchos errores que podrían ser necesarios en el momento del arranque o solo una vez.

Lidiar con consecuencias completamente inesperadas puede ser difícil, ya que a veces se pueden hacer conexiones realmente extrañas. ¿No necesitas Airplay? Desmarque todas las casillas en la GUI. Deshabilite todo lo que tenga airplay en su nombre. Fácil. Todo funciona como se esperaba después. Excepto que después de un tiempo te das cuenta de que iTunes sigue fallando al iniciarse. ¿No necesitas iTunes también? Bien. ¿Todavía quieres usar iTunes? Malo malo. Demasiado. Regrese a su lista de servicios deliberadamente deshabilitados, vuelva a habilitarlos uno por uno; para finalmente descubrir que iTunes insiste en un SystemDaemon llamado com.apple.AirPlayXPCHelper. Esperar lo inesperado.

Para darte una ventaja sobre cosas que se consideran exageradas: hay muchas colecciones en la red que intentan lograr lo que quieres. Lo siguiente pretende ser una fuente para ser leída y analizada en busca de inspiración. ¡No te limites a aplicarlos! ¡Lea los documentos para ellos! Elija lo que parezca necesario uno por uno. (Dado que debería estar documentando sus propios hallazgos de todos modos, ¿por qué no publicarlos?)

No son completamente aplicables a todas las versiones de OS X o macOS, algunas de ellas tienen revisiones diferentes aún en línea. Pero parece que solo se deben observar los demonios eliminados o recién introducidos.

Sistemas mínimos, optimizados para audio:

"Deshabilitar montón de #$!@ en Sierra (Versión 2.1):" https://gist.github.com/pwnsdx/d87b034c4c0210b988040ad2f85a68d3

Una guía práctica para asegurar macOS: https://github.com/drduh/macOS-Security-and-Privacy-Guide

Sucesor actualizado de osxlockdown: https://github.com/kristovatlas/osx-config-check

"Script de shell simple para solucionar problemas de privacidad de macOS y eliminar llamadas de macOS en su mayoría inútiles a cupertino": https://github.com/karek314/macOS-home-call-drop

Solo pequeñas porciones realmente aplicables aquí, pero aún así algunos artículos únicos: https://gist.github.com/brandonb927/3195465

También cabe destacar, "Descargar y deshabilitar agentes y demonios no deseados en OSX": http://tech.masterofsql.com/os-x/unload-disable-unwanted-agents-daemons-os-x.html

Ahora que vengan los votos negativos. Espero que esto ayude.

Excelente guía práctica, pero me parece que escribir Linux es más fácil que extirpar forensemente la hinchazón de MacOS 10.10. Digamos que solo quiero deshabilitar todos los elementos de inicio relacionados con iCloud en 10.10: ¿no hay una respuesta de 5 minutos para eso? De todos modos, revisaré su lista de recursos y le haré saber lo que encuentre.
Desafortunadamente no en 5 min. La falta de documentación y las inconsistencias en los nombres hacen que sea difícil. Todos los artículos con "nube" en su nombre son un candidato obvio, pero Ubiquitytambién forman parte de ese paquete. Por lo tanto, es difícil determinar qué subsume Apple (o usted) exactamente en iCloud.
Sí, en 5 minutos: ¡ Deshabilitar las molestias/características de OSX Yosemite que no tengo uso de la publicación de blog de 'guy namedseven' es excelente! ¡Reduje mi 'Memoria comprimida' en el Monitor de actividad de ~2.5-3.4Gb a <500-800Mb! Publicaré una respuesta una vez que resuelva la parte del diagnóstico.
Eso es impresionante. Tanto más cuanto que esa guía cubre solo un pequeño subconjunto de esos servicios y demonios. (i) Solo la nube tiene muchas más partes. Para deshabilitar eso es.