helpd utiliza el 100% de la CPU después de instalar cualquier aplicación con documentación

3

Veo que después de instalar un software que viene con la documentación en el formato de documento de ayuda de OS X, el proceso helpd utiliza el 100% de la CPU durante aproximadamente 5 minutos. También veo esto cuando instala OS X por primera vez.

Supongo que esto sucede debido a la indexación de la nueva documentación que fue agregada por la nueva aplicación.

¿Hay alguna forma de hacer que esta indexación sea un poco menos intensiva en recursos?

¿Disminuir la velocidad, tal vez? Cuando sucede, mi sistema simplemente se detiene hasta que se termina.

¿Alguien más tiene el mismo problema?

    
pregunta Aeyoun 04.05.2012 - 13:11

1 respuesta

1

Desde el hilo enlace

«2 de enero de 2012, 11:45 a.m. en respuesta a zeBob

Helpd actualiza todos los archivos de ayuda de la aplicación en tu Mac.

Sin embargo, odio haber ayudado a lanzar repetidamente y aparentemente de forma aleatoria, ocupando 1 gigabyte de RAM y usando tanto tiempo de CPU que los fanáticos hacen todo lo posible en mi MacBook Pro. Prefiero que mi MacBook Pro sea silencioso.

Tras la investigación, encontré que helpd está controlado por un sistema LaunchAgent plist que se ejecuta en el inicio:

/System/LaunchAgents/com.apple.helpd.plist

Al examinar el contenido de este plist usando XCode, lo que encuentra es que:

  1. helpd se ejecuta cuando el sistema lo carga al iniciarse o iniciar sesión

  2. helpd se ejecuta todos los domingos a las 2:30 AM

  3. el agente de inicio observa las siguientes carpetas y ejecuta helpd cada vez que cambian las carpetas:

    / Aplicaciones /

    / Aplicaciones / Utilidades /

El mayor problema son las carpetas de vigilancia. Cambian cada vez que los abres (es decir, sus cambios de fecha modificada cuando se abren). Cambian cuando instala una nueva aplicación. Muchas aplicaciones cambian el contenido de su carpeta de aplicaciones cuando se ejecutan. etc. etc.

(Lingon es un agente de lanzamiento simplificado y editor de daemon de lanzamiento. Lingon 3, por cierto, no puede administrar nada más que los agentes de lanzamiento y los daemons de su propio usuario. Está limitado por las nuevas reglas de la App Store de Apple. Lingon 2 puede abrirse Los sistemas de lanzamiento y lanzamiento de demonios faltan en muchos de los campos revelados mediante el uso de XCode. Por ejemplo, se mostrará la carpeta / Aplicaciones / ver. Pero hay DOS carpetas de vigilancia, la segunda es / Aplicaciones / Utilidades / Por lo tanto, Lingon puede causar problemas al modificar los agentes de lanzamiento del sistema y las fallas de los demonios faltando varios campos. No recomiendo Lingon más que para crear sus propios agentes de inicio de usuario y daemons (con Lingon 2 es una versión mucho más capaz)

La solución más sencilla es utilizar Xcode u otro editor de plist para modificar com.apple.helpd.plist para cambiar las carpetas de visualización.

Cambié / Aplicaciones / a / Aplicaciones / Utilidades / y dejé la segunda carpeta de visualización / Aplicaciones / Utilidades /

Ya que rara vez abro / Aplicaciones / Utilidades / esto hace que la Ayuda se inicie con mucha menos frecuencia.

También puedes simplemente eliminar las carpetas de visualización. Esto mantiene la ejecución de helpd los domingos a las 2:30 am o en el inicio o inicio de sesión.

Cuando los usuarios se deshacen de muchas aplicaciones antiguas, ven que la ayuda se inicia con menos frecuencia, ya que estas aplicaciones antiguas pueden ser las que modifican la carpeta / Aplicaciones /.

Si solo tiene aplicaciones más nuevas o pocas aplicaciones, no se encuentra con el problema de la ayuda tan a menudo o en absoluto. Es por esto que pocas personas se quejan de la ayuda. Solo los usuarios que tienen numerosas aplicaciones (especialmente las más antiguas o las que no se compraron en App Store) se encuentran con este problema.

Aquí están los contenidos de com.apple.helpd.plist:

      <key>EnableTransactions</key>

      <true/>

      <key>EnvironmentVariables</key>

      <dict>

                <key>NSRunningFromLaunchd</key>

                <string>1</string>

      </dict>

      <key>Label</key>

      <string>com.apple.helpd</string>

      <key>LimitLoadToSessionType</key>

      <array>

                <string>Aqua</string>

                <string>LoginWindow</string>

      </array>

      <key>MachServices</key>

      <dict>

                <key>com.apple.helpd</key>

                <true/>

      </dict>

      <key>OnDemand</key>

      <true/>

      <key>Program</key>

      <string>/System/Library/PrivateFrameworks/HelpData.framework/Versions/A/Resourc es/helpd</string>

      <key>RunAtLoad</key>

      <true/>

      <key>StartCalendarInterval</key>

      <dict>

                <key>Hour</key>

                <integer>2</integer>

                <key>Minute</key>

                <integer>30</integer>

                <key>Weekday</key>

                <integer>7</integer>

      </dict>

      <key>WatchPaths</key>

      <array>

                <string>/Applications/</string>

                <string>/Applications/Utilities/</string>

      </array>

»

    
respondido por el Mhrob 04.03.2018 - 20:03

Lea otras preguntas en las etiquetas