Eu notei isso frequentemente com downloads grandes, como atualizações do Xcode e atualizações do OS X e esse tipo de coisa.
Basicamente, vemos isso por quanto tempo leva para o download prosseguir:
Hoje (atualmente) estou baixando o Xcode 7.2.1.
Você pode ver o storagedownloadd parece estar atrelando a um núcleo inteiro, e cerca de 30% deste trabalho é tratado pelo kernel.
O que me deixa intrigado é o que é esse "trabalho"? Por que ele precisa fazer esse trabalho? Qual a quantidade de processamento que ele poderia estar fazendo, porque descriptografar um fluxo a poucos megabytes por segundo não requer tantos recursos. Eu poderia estar baixando um arquivo grande como esse usando centenas de conexões pela Internet e executando verificações de integridade (com um protocolo como o bittorrent) e ele não chegaria nem perto do que está acontecendo aqui com o uso de recursos.
fonte
Respostas:
Hoje ocorreu o mesmo problema ao atualizar o XCode:
storedownloadd
atribui um núcleo de CPU por 20 minutos.Tentei invadir o arquivo armazenadosdownloadd com um depurador e vi alguns rastreamentos de pilha muito longos e muito tempo gasto lá dentro
Security::CodeSigning
.Suspeito que esteja verificando recursivamente as assinaturas digitais de muitos arquivos minúsculos, um por um. Não faço ideia por que isso faria isso em vez de verificar o pacote inteiro enquanto ele está sendo baixado. Eu também vejo muita manipulação de cordas por dentro
Security_CodeSigning::RequirementLexer::RequirementLexer
.O
storedownloadd
que quer que seja , é muito lento!fonte
O uso da CPU é causado tanto pela codificação superficial quanto pela criptografia / descompactação. Os engenheiros tornaram-se muito descuidados com nossa CPU na era dos notebooks quad core com oito núcleos virtuais.
Alguém deve perseguir a Apple para otimizar a
storedownloadd
rotina. Considerando que nós tivemos que colocar-se com a rede quebrada por mais um ano até que a Apple substituiu o quebrado por designdiscoveryd
commDNSresponder
.Pensamentos mais sombrios podem sugerir que a loja também está compactando dados para upload e envio. A Microsoft foi flagrada fazendo isso muitas vezes, mas não vi um caso documentado no caso da Apple.
fonte
storedownloadd
esteja descompactando os dados do pacote de uma maneira realmente computacional. Não há muito motivo, neste momento, nada suspeito particularmente nefastoacabei de matar no terminal ;-) ... tirando 1.5MB / s da minha banda larga lenta
fonte