Co to jest proces „lsd” w systemie OS X i dlaczego zużywa tak dużo mocy procesora?

30

Zajrzałem do menu iStat i zauważyłem, że proces o nazwie lsdzużywa 99% mojego procesora (z 400% na 4 rdzenie). Szukałem trochę, ale nie mogłem dowiedzieć się, co to jest i dlaczego używa tak dużej mocy obliczeniowej. To nie jest Little Snitch Daemon, ponieważ nigdy go nie instalowałem. Ktoś inny powiedział, że może to być demon usług uruchamiania, ale myślałem, że ten proces był launchd. To demon usług uruchamiania.

Po wejściu do konsoli zauważam te komunikaty podczas wyszukiwania 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

Co do tej wiadomości:

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

Próbowałem stworzyć /private/var/db/lsdkatalog o nazwie root.

Ponadto moje użycie procesora wydaje się być bardzo przerywane (czego nigdy wcześniej nie robiłem).

Przerywane użycie procesora

Przyglądając się /usr/libexec, lsdzauważyłem i zauważyłem, że został utworzony 17 września 2015 r. Dlaczego jest taki nowy (wraz ze wszystkim innym w tym katalogu)?

CraftedCart
źródło
3
Proszę nie aktualizować pytania o odpowiedź, zamiast tego opublikuj odpowiedź poniżej. W przeciwnym razie zarówno funkcja wyszukiwania, jak i użytkownicy będą zdezorientowani.
nohillside

Odpowiedzi:

21

lsd w OS X jest rzeczywiście LaunchServiceDaemon. launchd to menedżer demonów uruchamiania! Zapewnia prawdopodobnie taką samą funkcję jak w iOS. Według Apple zapewnia

obsługa uruchamiania aplikacji i dopasowywanie typów dokumentów do aplikacji. W rezultacie klucze rozpoznawane przez usługi uruchamiania umożliwiają określenie żądanego środowiska wykonywania dla dołączonego kodu.

Najwyraźniej lsd został wprowadzony w systemie OS X 10.11 El Capitan, ponieważ nie mogę go znaleźć w starszych systemach. Najnowsza wersja (zawarta w 10.11.2) powinna mieć datę modyfikacji 3 grudnia 2015.


Aby rozwiązać problem

  • problem z „LaunchServices: Nie można zapisać pliku identyfikatora lsd na /private/var/db/lsd/com.apple.lsdschemes.plist” sprawdź ten post:

    Prawdopodobnie nie najlepszy sposób, ale wydaje mi się, że naprawiłem / ukryłem ten komunikat o błędzie. Oto co zrobiłem:

    cd /private/var/db

    Katalog lsd nie istniał

    mkdir lsd

    Wciąż nie ma radości

    chmod -R 777 /private/var/db/lsd
    (Wiem, właśnie otworzyłem mojego Gibsona na włamanie)
    touch /private/var/db/lsd/com.apple.lsdschemes.plist

    Wydawało się, że potem odejdzie. Chęć postawienia na naprawę dysku / sprawdzenie uprawnień ponownie go złamie, ale nie próbowałem. Jeśli kota tego pliku, następujące treści są następujące:

    bplist00?

  • 100% wykorzystania procesora: / usr / libexec / lsd przy użyciu 100% procesora

klanomath
źródło
Ach, dzięki za wyjaśnienie tego (i wciąż jestem na 10.11.1) Nadal nie mam pojęcia, dlaczego potrzebuje tak dużej mocy procesora ...
CraftedCart
Po wielu kopaniach myślę, że mogłem znaleźć aplikację powodującą problem w 100%. Robocraft. Zobaczmy, czy aktualizacja działa, a jeśli nie, będę musiał ją odinstalować.
CraftedCart
Mam poprawnie działający lsdi nie /private/var/db/lsdistnieje katalog - może to jest czerwony śledź z systemów starszych niż 10.11? Nadal robi dużo zapisywania na dysku z powodów, których od czasu do czasu nie byłem w stanie zidentyfikować - być może przekłada się to na wiele procesorów w systemach z obracającymi się dyskami twardymi i / lub dużymi systemami plików z dużymi magazynami danych?
bmike
5

Wygląda na to, że lsdutknął w _LSCreateRegistrationData dla określonej aplikacji. Jeśli masz ten sam problem, postępuj zgodnie z poniższym przewodnikiem.

  1. Otwórz monitor aktywności i wyszukaj lsd
  2. Uzyskaj PID lsdposiadanego przez rootużytkownika
  3. Otwórz terminal
  4. Wejdź sudo sample PID-HERE(Oczywiście, zastępując PID-TUTAJ PIDem otrzymanym w kroku 2)
  5. Jeśli masz ten sam problem, powinno być coś _LSCreateRegistrationDatana wykresie połączeń (w górnej części całego wyjścia)
  6. Wchodzić sudo lsof -p PID-HERE

Powinieneś być w stanie rozpoznać pakiet aplikacji na tym wyjściu. Spróbuj go usunąć lub zaktualizować i sprawdź, czy to rozwiąże problem

CraftedCart
źródło
2

Ja też odkryłem, że mam problemy z lsd. Wydaje się, że wystarczy utworzyć katalog i dotknąć pliku, nie było (przynajmniej w moim przypadku) nie trzeba było majstrować przy uprawnieniach opisanych przez klanomatha.

W moim przypadku zatrzymało to błędy lsd, ale wciąż widywałem często takie błędy:

25 lutego 14:06:07 iMac system_profiler [259]: LaunchServices: Mapowanie bazy danych nie powiodło się z wynikiem -10822, ponawianie

25 lutego 14:06:07 iMac system_profiler [259]: LaunchServices: otrzymano XPC_ERROR_CONNECTION_INTERRUPTED próbuje zmapować bazę danych

25 lutego 14:06:07 iMac com.apple.xpc.launchd [1] (com.nomachine.nxserver): Usługa działała tylko przez 7 sekund. Wypychanie odrodzenia o 3 sekundy.

Miałem instalację NoMachine i usuwając to (ponieważ i tak naprawdę tak naprawdę używałem nxplayera), ten błąd również się zatrzymał.

Christian Lynbech
źródło
1

To, co zadziałało, to procesor „sudo xcrun xcscontrol - reset” z 95% pulsowania do około 4%.

Juddimaster
źródło
Zgłasza komunikat o błędzie: xcrun: błąd: nie można znaleźć narzędzia „xcscontrol”, ani narzędzia programistycznego, ani w PATH
user26732
0

Jest częścią LaunchServices. Możesz wyodrębnić z niego niektóre informacje (ciągi) za pomocą polecenia ciągi:

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>

Poza tym wydaje się, że twój problem jest tutaj omawiany .

watkipet
źródło