A mensagem:
triggered DYLD shared region unnest for map
diz que a área de cobertura da memória do aplicativo se expande (como o aviso indica) e está consistentemente entre os principais aplicativos "Uso significativo de energia".
Em outras palavras, esses erros de DYLD são relatados pelo kernel, que indica um consumo anormal de memória.
Do ponto de vista técnico, isso acontece quando o aplicativo precisa tornar uma página de texto gravável para substituir o prólogo com um trampolim e o DYLD precisa atualizar seus mapeamentos de página como resultado dessa alteração de proteção. No Chrome, isso é causado pelo uso de mach_override()
para o CFBundleBlocker (chrome::common::mac::EnableCFBundleBlocker)
.
Então é isso que o kernel está registrando, e parece inofensivo, já que esta é uma mudança intencional de proteção sendo emitida.
Em osx/10.9.5/xnu-2422.115.4/bsd/vm/vm_unix.c
in log_unntest_badness()
, há um sysctl
( set("vm.shared_region_unnest_logging")
) em todo o sistema que pode desativar esse registro.
Para que você possa desativar isso, execute:
sudo sysctl -w vm.shared_region_unnest_logging=0
Para tornar esse vm.shared_region_unnest_logging=0
permanente, você precisa adicionar /etc/sysctl.conf
.
Ou se o seu aplicativo falhar (consulte: Bug # 136801 ), é possível tente consertá-lo pelo comando:
sudo update_dyld_shared_cache -force
Assim, você pode experimentar alguns congelamentos e isso pode ser o resultado devido a alguns outros processos ininterruptos (por exemplo, devido a alguns erros de E / S).
Fontes:
- Problema no Chrome 428858: Várias mensagens de log "disparou a região compartilhada do DYLD para desestabilizar o mapa"
- Firefox Bug 804010 - o firefox / thunderbird acionou a região compartilhada do DYLD para ser desfeito do mapa