O que é o processo "lsd" no OS X e por que ele usa tanto poder da CPU?


30

Procurei nos menus do iStat e notei que um processo chamado lsdconsumia 99% da minha CPU (de 400% para 4 núcleos). Procurei um pouco, mas não consegui descobrir o que era e por que está usando tanto poder de processamento. Não é o Little Snitch Daemon, pois nunca o instalei. Alguém disse que poderia ser o Launch Services Daemon, mas eu pensei que era esse processo launchd. É o Launch Services Daemon.

Ao procurar no console, noto estas mensagens ao procurar 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

Quanto a esta mensagem:

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

Eu tentei fazer um dir chamado /private/var/db/lsdcomo root.

Além disso, o uso da minha CPU parece ser muito intermitente (o que nunca aconteceu antes).

Uso intermitente da CPU

Examinando /usr/libexec, descobri lsde notei que ele foi criado em 17 de setembro de 2015. Por que é tão novo (além de tudo o mais nesse diretório)?


3
Não atualize a pergunta com a resposta, poste uma resposta abaixo. Caso contrário, a função de pesquisa e os usuários ficarão confusos.
— nohillside

Respostas:


21

O lsd no OS X é realmente o LaunchServiceDaemon. launchd é um gerenciador de daemon de lançamento! Ele provavelmente fornece a mesma função que no iOS. Segundo a Apple, ela fornece

suporte para iniciar aplicativos e combinar tipos de documentos com aplicativos. Como resultado, as chaves reconhecidas pelo Launch Services permitem especificar o ambiente de execução desejado para o seu código em pacote.

Aparentemente, o lsd foi introduzido no OS X 10.11 El Capitan porque não consigo encontrá-lo em sistemas mais antigos. A versão mais recente (incluída no 10.11.2) deve ter a data de modificação em 3 de dezembro de 2015.


Para solucionar problemas

  • o problema "LaunchServices: Não foi possível armazenar o arquivo lsd-identifiers em /private/var/db/lsd/com.apple.lsdschemes.plist", verifique este post:

    Provavelmente não é o melhor caminho, mas parece que corrigi / suprimi essa mensagem de erro. Isto é o que eu fiz:

    cd /private/var/db

    O diretório lsd não existia

    mkdir lsd

    Ainda sem alegria

    chmod -R 777 /private/var/db/lsd
    (eu sei, acabei de abrir meu Gibson para ser hackeado)
    touch /private/var/db/lsd/com.apple.lsdschemes.plist

    Parecia ir embora depois disso. Dispostos a apostar em uma verificação de reparo / permissões de disco, a quebrará novamente, mas ainda não tentou. Se eu criar esse arquivo, o seguinte é o conteúdo:

    bplist00?

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


Ah, obrigado por esclarecer isso (e eu ainda estou em 10.11.1) Eu ainda não tenho idéia por que tanto precisam de energia da CPU embora ...
— CraftedCart

Depois de muita pesquisa, acho que encontrei o aplicativo causando o problema de 100%. Robocraft. Vamos ver se a atualização funciona e, se não, terei que desinstalá-lo.
— CraftedCart

Eu tenho um lsddiretório funcionando corretamente e nenhum diretório /private/var/db/lsdexiste - talvez seja um arenque vermelho de sistemas com mais de 10.11? Ele ainda cria muita gravação de disco por razões que não consegui identificar de tempos em tempos - talvez isso se traduza em muita CPU para sistemas com discos rígidos giratórios e / ou grandes sistemas de arquivos com armazenamento de dados significativo?
— bmike

5

Parece que lsdfica preso em _LSCreateRegistrationData para um determinado aplicativo. Se você está tendo o mesmo problema, siga o guia abaixo.

  1. Abra o monitor de atividades e procure por lsd
  2. Obter o PID da lsdpropriedade do rootusuário
  3. Abra o terminal
  4. Digite sudo sample PID-HERE(é claro, substituindo o PID-HERE pelo PID que você obteve na etapa 2)
  5. Se você está tendo o mesmo problema, deve haver algo _LSCreateRegistrationDatano gráfico de chamadas (próximo à parte superior de toda a saída)
  6. Entrar sudo lsof -p PID-HERE

Você deve reconhecer um pacote de aplicativos nessa saída. Tente excluí-lo ou atualizá-lo e veja se ele resolve o problema


2

Eu também descobri que tinha problemas com o lsd. Parece que é suficiente criar o diretório e tocar no arquivo; não havia (pelo menos no meu caso) a necessidade de mexer nas permissões, conforme descrito por klanomath.

No meu caso, ele parou os erros lsd, mas eu ainda estava vendo erros frequentes como estes:

25 de fevereiro 14:06:07 iMac system_profiler [259]: LaunchServices: O mapeamento do banco de dados falhou com o resultado -10822, repetindo

25 de fevereiro 14:06:07 iMac system_profiler [259]: LaunchServices: XPC_ERROR_CONNECTION_INTERRUPTED recebido tentando mapear o banco de dados

25 de fevereiro 14:06:07 iMac com.apple.xpc.launchd [1] (com.nomachine.nxserver): o serviço foi executado apenas por 7 segundos. Empurrando o respawn por 3 segundos.

Eu tinha uma instalação do NoMachine e excluí-lo (como eu realmente nunca usei o nxplayer de qualquer maneira), esse erro também foi interrompido.


1

O que funcionou para mim foi a CPU "sudo xcrun xcscontrol --reset", que passou de 95% para 4%.


Lança uma mensagem de erro: xcrun: erro: não foi possível encontrar utilidade "xcscontrol", e não uma ferramenta de desenvolvimento ou em PATH
— user26732

0

Faz parte do LaunchServices. Você pode extrair algumas informações (strings) com o comando strings:

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>

Fora isso, parece que seu problema também está sendo discutido aqui .

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.