¿Cuál es el proceso "lsd" en OS X y por qué utiliza tanta potencia de la CPU?

30

Miré en iStat Menus y noté que un proceso llamado lsdconsumía el 99% de mi CPU (del 400% para 4 núcleos). Busqué un poco, pero no pude averiguar qué era y por qué está usando tanta potencia de procesamiento. No es Little Snitch Daemon, ya que nunca lo instalé. Alguien más dijo que podría ser Launch Services Daemon, pero pensé que ese proceso era launchd. Es Daemon de servicios de lanzamiento.

Al buscar en la consola, noto estos mensajes cuando busco lsd:

22/12/2015 9:36:02.000 a.m. kernel[0]: Sandbox: AssetCacheLocato(400) deny(1) mach-lookup com.apple.lsd.mapdb
22/12/2015 9:36:02.931 a.m. AssetCacheLocatorService[400]: LaunchServices: disconnect event received for service com.apple.lsd.mapdb
22/12/2015 9:36:02.000 a.m. kernel[0]: Sandbox: AssetCacheLocato(400) deny(1) mach-lookup com.apple.lsd.mapdb
22/12/2015 9:36:02.932 a.m. AssetCacheLocatorService[400]: LaunchServices: disconnect event received for service com.apple.lsd.mapdb
22/12/2015 9:36:03.000 a.m. kernel[0]: Sandbox: AssetCacheLocato(400) deny(1) mach-lookup com.apple.lsd.modifydb
22/12/2015 9:36:03.657 a.m. AssetCacheLocatorService[400]: LaunchServices: disconnect event received for service com.apple.lsd.modifydb
22/12/2015 9:39:41.000 a.m. kernel[0]: Sandbox: SpotlightNetHelp(376) deny(1) mach-lookup com.apple.lsd.mapdb
22/12/2015 9:39:41.995 a.m. SpotlightNetHelper[376]: LaunchServices: disconnect event received for service com.apple.lsd.mapdb
22/12/2015 9:39:41.000 a.m. kernel[0]: Sandbox: SpotlightNetHelp(376) deny(1) mach-lookup com.apple.lsd.mapdb
22/12/2015 9:39:41.996 a.m. SpotlightNetHelper[376]: LaunchServices: disconnect event received for service com.apple.lsd.mapdb
22/12/2015 9:39:42.000 a.m. kernel[0]: Sandbox: SpotlightNetHelp(376) deny(1) mach-lookup com.apple.lsd.modifydb
22/12/2015 9:39:42.370 a.m. SpotlightNetHelper[376]: LaunchServices: disconnect event received for service com.apple.lsd.modifydb
22/12/2015 9:39:58.100 a.m. lsd[296]: LaunchServices: Could not store lsd-identifiers file at /private/var/db/lsd/com.apple.lsdschemes.plist
22/12/2015 10:01:15.000 a.m. kernel[0]: process lsd[237] thread 19967 caught burning CPU!; EXC_RESOURCE supressed due to audio playback
22/12/2015 3:34:04.828 p.m. lsd[296]: LaunchServices: Could not store lsd-identifiers file at /private/var/db/lsd/com.apple.lsdschemes.plist
22/12/2015 3:44:07.469 p.m. sudo[45308]:     MyUsername : TTY=ttys000 ; PWD=/private/var/db ; USER=root ; COMMAND=/bin/mkdir lsd
22/12/2015 3:49:09.183 p.m. lsd[306]: LaunchServices: Scheme mapping file does not exist, creating file.
22/12/2015 3:49:09.400 p.m. lsd[306]: LaunchServices: Could not store lsd-identifiers file at /private/var/db/lsd/com.apple.lsdschemes.plist
22/12/2015 3:49:09.407 p.m. lsd[306]: LaunchServices: Could not store lsd-identifiers file at /private/var/db/lsd/com.apple.lsdschemes.plist
22/12/2015 3:49:39.366 p.m. lsd[306]: LaunchServices: Currently 0 installed placeholders: ()
22/12/2015 3:49:50.000 p.m. kernel[0]: Sandbox: AssetCacheLocato(535) deny(1) mach-lookup com.apple.lsd.mapdb
22/12/2015 3:49:50.802 p.m. AssetCacheLocatorService[535]: LaunchServices: disconnect event received for service com.apple.lsd.mapdb
22/12/2015 3:49:51.000 p.m. kernel[0]: Sandbox: AssetCacheLocato(535) deny(1) mach-lookup com.apple.lsd.modifydb
22/12/2015 3:49:51.002 p.m. AssetCacheLocatorService[535]: LaunchServices: disconnect event received for service com.apple.lsd.modifydb
22/12/2015 4:31:57.573 p.m. lsd[306]: LaunchServices: Could not store lsd-identifiers file at /private/var/db/lsd/com.apple.lsdschemes.plist
22/12/2015 4:34:34.075 p.m. lsd[306]: LaunchServices: Could not store lsd-identifiers file at /private/var/db/lsd/com.apple.lsdschemes.plist
22/12/2015 4:34:34.290 p.m. lsd[306]: LaunchServices: Could not store lsd-identifiers file at /private/var/db/lsd/com.apple.lsdschemes.plist
22/12/2015 4:37:20.000 p.m. kernel[0]: process lsd[220] thread 26462 caught burning CPU!; EXC_RESOURCE supressed due to audio playback

En cuanto a este mensaje:

22/12/2015 3:44:07.469 p.m. sudo[45308]:     MyUsername : TTY=ttys000 ; PWD=/private/var/db ; USER=root ; COMMAND=/bin/mkdir lsd

Intenté hacer un directorio llamado /private/var/db/lsdcomo root.

Además, el uso de mi CPU parece ser muy intermitente (lo que nunca hizo antes).

Uso intermitente de la CPU

Al investigar /usr/libexec, descubrí lsdque se creó el 17 de septiembre de 2015. ¿Por qué es tan nuevo (junto con todo lo demás en ese directorio)?

CraftedCart
fuente
3
No actualice la pregunta con la respuesta, publique una respuesta a continuación. De lo contrario, tanto la función de búsqueda como los usuarios se confundirán.
nohillside

Respuestas:

21

lsd en OS X es de hecho el LaunchServiceDaemon. ¡launchd es un administrador de daemon de lanzamiento! Probablemente proporciona la misma función que en iOS. Según Apple, proporciona

soporte para iniciar aplicaciones y hacer coincidir tipos de documentos con aplicaciones. Como resultado, las claves reconocidas por Launch Services le permiten especificar el entorno de ejecución deseado para su código incluido.

Aparentemente, lsd se introdujo en OS X 10.11 El Capitan porque no puedo encontrarlo en sistemas más antiguos. La última versión (incluida en 10.11.2) debe tener la fecha de modificación 3 de diciembre de 2015.


Para solucionar problemas

  • el problema "LaunchServices: No se pudo almacenar el archivo de identificadores de lsd en /private/var/db/lsd/com.apple.lsdschemes.plist" revise esta publicación:

    Probablemente no sea la mejor manera, pero parece que he arreglado / suprimido ese mensaje de error. Esto es lo que hice:

    cd /private/var/db

    el directorio lsd no existía

    mkdir lsd

    Todavía no hay alegría

    chmod -R 777 /private/var/db/lsd
    (Lo sé, acabo de abrir mi Gibson para ser pirateado)
    touch /private/var/db/lsd/com.apple.lsdschemes.plist

    Parecía desaparecer después de eso. Dispuesto a apostar una reparación de disco / verificación de permisos lo romperá nuevamente, pero no lo he intentado. Si busco ese archivo, el siguiente es el contenido:

    bplist00?

  • el 100% de uso de la CPU: / usr / libexec / lsd usando el 100% de la CPU

klanomath
fuente
Ah, gracias por aclarar eso (y todavía estoy en 10.11.1) Todavía no tengo idea de por qué necesita tanta potencia de CPU ...
CraftedCart
Después de mucho excavar, creo que puede haber encontrado la aplicación causando el problema del 100%. Robocraft Veamos si la actualización funciona, y si no, tendré que desinstalarlo.
CraftedCart
Tengo un lsddirectorio que funciona correctamente y no /private/var/db/lsdexiste ningún directorio , ¿tal vez es una pista falsa de sistemas que son anteriores a 10.11? Todavía escribe mucho en el disco por razones que no he podido identificar de vez en cuando, ¿tal vez eso se traduce en una gran cantidad de CPU para sistemas con discos duros giratorios y / o grandes sistemas de archivos con grandes almacenes de datos?
bmike
5

Parece que lsdse atasca en _LSCreateRegistrationData para una determinada aplicación. Si tiene el mismo problema, siga la guía a continuación.

  1. Abra el monitor de actividad y busque lsd
  2. Obtenga el PID de la lsdpropiedad del rootusuario
  3. Abre la terminal
  4. Ingrese sudo sample PID-HERE(por supuesto, reemplazando PID-AQUÍ con el PID que obtuvo en el paso 2)
  5. Si tiene el mismo problema, debería haber algo _LSCreateRegistrationDataen el gráfico de llamadas (cerca de la parte superior de toda la salida)
  6. Entrar sudo lsof -p PID-HERE

Debería poder reconocer un paquete de aplicaciones dentro de esa salida. Intenta eliminarlo o actualizarlo para ver si resuelve el problema.

CraftedCart
fuente
2

También descubrí que tenía problemas con lsd. Parece que es suficiente crear el directorio y tocar el archivo, no hubo (al menos en mi caso) la necesidad de jugar con los permisos descritos por klanomath.

En mi caso, detuvo los errores de lsd, pero seguía viendo errores frecuentes como estos:

25 de febrero 14:06:07 iMac system_profiler [259]: LaunchServices: la asignación de la base de datos falló con el resultado -10822, reintentando

25 de febrero 14:06:07 iMac system_profiler [259]: LaunchServices: recibió XPC_ERROR_CONNECTION_INTERRUPTED tratando de mapear la base de datos

25 de febrero 14:06:07 iMac com.apple.xpc.launchd [1] (com.nomachine.nxserver): el servicio solo se ejecutó durante 7 segundos. Empujando reaparecer por 3 segundos.

Tuve una instalación de NoMachine y al eliminar eso (dado que de todos modos realmente nunca usé el nxplayer), ese error también se detuvo.

Christian Lynbech
fuente
1

Lo que funcionó para mí fue que la CPU "sudo xcrun xcscontrol --reset" pasó de pulsar el 95% a aproximadamente el 4%.

Juddimaster
fuente
Lanza un mensaje de error: xcrun: error: no se puede encontrar la utilidad "xcscontrol", no una herramienta de desarrollador o en RUTA
user26732
0

Es parte de LaunchServices. Puede extraer algo de información (cadenas) con el comando de cadenas:

hostname:~ username$ strings /usr/libexec/lsd
@(#)PROGRAM:lsd  PROJECT:LaunchServices-
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleAllowMixedLocalizations</key>
<true/>
</dict>
</plist>

Aparte de eso, parece que su problema también se está discutiendo aquí .

watkipet
fuente