Mensagem estranha no console sobre a chave _DirtyJetsamMemoryLimit

36

Esta mensagem é sempre exibida no log do console em intervalos regulares.

com.apple.xpc.launched: (comm.apple.imFoundation.IMRemoteURLConnectionAgent) the _DirtyJetsamMemoryLimit key is not available in this platform

Alguém pode explicar por que é exibido e se isso afeta o desempenho do sistema, bem como como se livrar dele?

erwin
fonte
11
Tenho a mesma mensagem em duas máquinas Yosemite (uma atualização do Mavericks e outra uma instalação limpa). Horas de pesquisa na Internet me deixaram de mãos vazias ... todos os resultados referentes à programação do iOS (talvez seja um problema com uma base de código compartilhada?). Talvez exija apenas uma atualização 10.10.1 da Apple.
Dustin Wheeler
O mesmo problema aqui. Log do console abaixo. Não vejo erros reais, mas demorou quase um minuto para carregar. 4/17/15 10: 31: 11.583 AM com.apple.xpc.launchd [1]: (com.apple.imfoundation.IMRemoteURLConnectionAgent) A chave _DirtyJetsamMemoryLimit não está disponível nesta plataforma. 17/4/15 10: 31: 52.000 kernel AM [0]: AppleCamIn :: power_on_hardware 17/04/15 10: 31: 53.292 AM AppleCameraAssistant [373]: StartHardwareStream: criando receptor de quadro: 1280 x 720 (420v) [12,00 , 29,97] fps
O mesmo problema aqui. Estou no macOS 10.13.4 High Sierra.
Neoneye 27/05

Respostas:

40

Jetsam é um sistema que monitora o uso de memória no OSX e no iOS. Ele mantém uma lista de processos no dispositivo, para monitorar situações em que um dispositivo está ficando sem RAM livre e procurar coisas para matar para liberar RAM. Ele também observa processos que estão usando muita RAM; violar um nível de "marca d'água alta".

Essa mensagem de erro ocorre porque o código é compartilhado entre OSX e iOS, mas a chave _DirtyJetsamMemoryLimit está disponível apenas no iOS.

Você pode ler mais sobre o Jetsam no seguinte link.

http://newosxbook.com/articles/MemoryPressure.html

E se você estiver realmente interessado, poderá ler um pouco do código Jetsam nos dois arquivos a seguir.

http://www.opensource.apple.com/source/xnu/xnu-1456.1.26/bsd/kern/kern_memorystatus.c http://www.opensource.apple.com/source/xnu/xnu-1456.1.26 /bsd/sys/kern_memorystatus.h

Para encurtar a história, acho que essa mensagem de erro não indica necessariamente um problema de desempenho. O sistema de memória no iOS é muito mais rigoroso, porque o iOS não possui itens como swapfiles (também conhecido como memória virtual) que permitem que o sistema exceda a quantidade física de RAM. O OSX tem muito mais espaço para jogar.

Qualquer um pode verificar se não tem impacto no desempenho usando o Monitor de Atividade e mostrando todos os processos na visualização da CPU. Observe a syslogdlinha e verifique se o tempo da CPU é razoável em comparação com outras tarefas que você deseja executar com o seu Mac.

Alistair McMillan
fonte
11
Está bem. Portanto, não há conexão entre este _DirtyJetsamMemoryLimit e falhas repetitivas no Yosemite?
@Domnuldid Sem conexão. Eu tenho Macs estáveis ​​registrando essa mensagem de erro o tempo todo, portanto não há indicação clara de que eles sejam tudo menos coincidentes.
bmike
@bmike Temos certeza de que sysmondtem algo a ver com o Jetsam? Fiquei com a impressão de que o Jetsam está totalmente contido no kernel e sysmondserve apenas para alimentar coisas como o Monitor de Atividade e top.
Alistair McMillan
@AlistairMcMillan Perdoe meu erro - syslogdé o daemon relacionado que mostraria IO / CPU excessivo devido ao processamento do arquivo de log e ao roteamento de mensagens de log. Você está certo sobresysmond
bmike
4
se o código for compartilhado entre o iOS e o OS X, a Apple des deve filtrar as mensagens do log de saída ... não exibindo mensagens relacionadas ao iOS no computador OS X ... o log do sistema permanecerá tão longo quanto a Bíblia ...
erwin