Was ist der "lsd" -Prozess unter OS X und warum verbraucht er so viel CPU-Leistung?

30

Ich habe in den iStat-Menüs nachgesehen und festgestellt, dass ein Prozess mit dem Namen lsd99% meiner CPU verbraucht (von 400% für 4 Kerne). Ich habe ein bisschen gesucht, konnte aber nicht herausfinden, was das ist und warum es so viel Rechenleistung verbraucht. Es ist kein Little Snitch Daemon, da ich das nie installiert habe. Jemand anderes sagte, dass es Launch Services Daemon sein könnte, aber ich dachte, dass dies der Fall ist launchd. Es ist Launch Services Daemon.

Wenn ich in die Konsole schaue, bemerke ich diese Meldungen bei der Suche nach 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

Wie für diese Nachricht:

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

Ich habe versucht, ein Verzeichnis mit dem Namen /private/var/db/lsdroot zu erstellen.

Außerdem scheint meine CPU-Auslastung sehr sporadisch zu sein (was sie noch nie getan hat).

Intermittierende CPU-Auslastung

Als /usr/libexecich mich umsah , stellte ich fest, lsddass es am 17. September 2015 erstellt wurde. Warum ist es so neu (zusammen mit allem anderen in diesem Verzeichnis)?

CraftedCart
quelle
3
Bitte aktualisieren Sie die Frage nicht mit der Antwort, sondern geben Sie stattdessen eine Antwort unten ein. Andernfalls werden sowohl die Suchfunktion als auch die Benutzer verwirrt.
Nohillside

Antworten:

21

lsd in OS X ist in der Tat der LaunchServiceDaemon. launchd ist ein Launch Daemon Manager! Es bietet wahrscheinlich die gleiche Funktion wie in iOS. Laut Apple bietet es

Unterstützung für das Starten von Apps und das Anpassen von Dokumenttypen an Apps. Infolgedessen können Sie mit den von Launch Services erkannten Schlüsseln die gewünschte Ausführungsumgebung für Ihren gebündelten Code angeben.

lsd wurde anscheinend in OS X 10.11 El Capitan eingeführt, weil ich es in älteren Systemen nicht finden kann. Die neueste Version (in 10.11.2 enthalten) sollte das Änderungsdatum 3. Dezember 2015 haben.


Problembehandlung

  • Das Problem "LaunchServices: lsd-identifiers-Datei konnte nicht unter /private/var/db/lsd/com.apple.lsdschemes.plist gespeichert werden." Diesen Beitrag überprüfen :

    Wahrscheinlich nicht der beste Weg, aber ich scheine diese Fehlermeldung behoben / unterdrückt zu haben. Das habe ich gemacht:

    cd /private/var/db

    Das Verzeichnis lsd existiert nicht

    mkdir lsd

    Immer noch keine Freude

    chmod -R 777 /private/var/db/lsd
    (Ich weiß, ich habe gerade meinen Gibson geöffnet, um gehackt zu werden)
    touch /private/var/db/lsd/com.apple.lsdschemes.plist

    Schien danach zu verschwinden. Wenn Sie bereit sind, eine Festplattenreparatur- / Berechtigungsprüfung durchzuführen, wird diese erneut unterbrochen, Sie haben es jedoch noch nicht versucht. Wenn ich diese Datei kate, ist der folgende Inhalt:

    bplist00?

  • die 100% CPU-Auslastung: / usr / libexec / lsd mit 100% der CPU

klanomath
quelle
Ah, danke, dass du das geklärt hast (und ich bin immer noch am 10.11.1). Ich habe immer noch keine Ahnung, warum es so viel CPU-Leistung benötigt ...
CraftedCart
Nach langem Graben habe ich möglicherweise die App gefunden, die das 100% -Problem verursacht. Robocraft. Mal sehen, ob das Update funktioniert, und wenn nicht, muss ich es deinstallieren.
CraftedCart
Ich habe ein ordnungsgemäß funktionierendes lsdund kein /private/var/db/lsdvorhandenes Verzeichnis - vielleicht ist das ein roter Faden von Systemen, die älter als 10.11 sind? Es wird immer noch viel auf Datenträger geschrieben, und zwar aus Gründen, die ich von Zeit zu Zeit nicht identifizieren konnte. Dies führt möglicherweise zu einer großen Menge an CPU für Systeme mit sich drehenden Festplatten und / oder großen Dateisystemen mit bedeutenden Datenspeichern.
bmike
5

Es scheint, dass lsd_LSCreateRegistrationData für eine bestimmte App hängen bleibt. Wenn Sie dasselbe Problem haben, befolgen Sie die nachstehende Anleitung.

  1. Aktivitätsmonitor öffnen und suchen nach lsd
  2. Holen Sie sich das PID des im lsdBesitz des rootBenutzers
  3. Öffnen Sie das Terminal
  4. Enter sudo sample PID-HERE(Ersetzen Sie natürlich PID-HERE durch die PID, die Sie in Schritt 2 erhalten haben.)
  5. Wenn Sie dasselbe Problem haben, sollte sich etwas _LSCreateRegistrationDataim Aufrufdiagramm befinden (in der Nähe des oberen Bereichs der gesamten Ausgabe).
  6. Eingeben sudo lsof -p PID-HERE

Sie sollten in der Lage sein, ein App-Paket in dieser Ausgabe zu erkennen. Versuchen Sie, es zu löschen oder zu aktualisieren, und prüfen Sie, ob das Problem dadurch behoben wird

CraftedCart
quelle
2

Ich entdeckte auch, dass ich Probleme mit lsd hatte. Es scheint, dass es ausreicht, das Verzeichnis zu erstellen und die Datei zu berühren. Zumindest in meinem Fall bestand keine Notwendigkeit, mit den von klanomath beschriebenen Berechtigungen zu experimentieren.

In meinem Fall hat es die lsd-Fehler gestoppt, aber ich sah immer noch häufige Fehler wie diese:

25.02. 14:06:07 iMac system_profiler [259]: LaunchServices: Datenbankzuordnung fehlgeschlagen, Ergebnis -10822, erneuter Versuch

25.02. 14:06:07 iMac system_profiler [259]: LaunchServices: XPC_ERROR_CONNECTION_INTERRUPTED wurde empfangen und versucht, die Datenbank zuzuordnen

25. Februar 14:06:07 iMac com.apple.xpc.launchd [1] (com.nomachine.nxserver): Der Dienst wurde nur 7 Sekunden lang ausgeführt. Respawn um 3 Sekunden ausschalten.

Ich hatte eine NoMachine-Installation und löschte diese (da ich den nxplayer ohnehin nur wirklich benutzte). Dieser Fehler hörte auch auf.

Christian Lynbech
quelle
1

Was für mich funktionierte, war "sudo xcrun xcscontrol --reset". Die CPU ging von pulsierenden 95% auf ungefähr 4% zurück.

Juddimaster
quelle
Löst eine Fehlermeldung aus: xcrun: Fehler: Dienstprogramm "xcscontrol" kann nicht gefunden werden, kein Entwicklertool oder in PATH
user26732
0

Es ist Teil von LaunchServices. Sie können mit dem Befehl strings einige Informationen (Strings) daraus extrahieren:

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>

Abgesehen davon scheint Ihr Problem auch hier diskutiert zu werden .

watkipet
quelle