Por que o kernel pode ser limitado?

1

Meu MBR começa a congelar por mais de uma hora e descobri que meu kernel relatou estar sendo acelerado, por exemplo, (isso é apenas uma amostra por 2 segundos)

$ sudo fs_usage | | grep -i throttled
12:26:45    THROTTLED    0.015159   kernel_task 
12:26:45    THROTTLED    0.015606   kernel_task 
12:26:45    THROTTLED    0.016328   kernel_task 
12:26:45    THROTTLED    0.014862   kernel_task 
12:26:45    THROTTLED    0.014797   kernel_task 
12:26:45    THROTTLED    0.015583   kernel_task 
12:26:45    THROTTLED    0.014794   kernel_task 
12:26:45    THROTTLED    0.014668   kernel_task 
12:26:45    THROTTLED    0.014915   kernel_task 
12:26:45    THROTTLED    0.014555   kernel_task 
12:26:45    THROTTLED    0.014660   kernel_task 
12:26:45    THROTTLED    0.015547   kernel_task 
12:26:45    THROTTLED    0.015364   kernel_task 
12:26:45    THROTTLED    0.015073   kernel_task 
12:26:45    THROTTLED    0.014832   kernel_task 
12:26:46    THROTTLED    0.015649   kernel_task 
12:26:46    THROTTLED    0.016643   kernel_task 
12:26:46    THROTTLED    0.014496   kernel_task 
12:26:46    THROTTLED    0.015488   kernel_task 
12:26:46    THROTTLED    0.014576   kernel_task 
12:26:46    THROTTLED    0.015531   kernel_task 
12:26:46    THROTTLED    0.015224   kernel_task 
12:26:46    THROTTLED    0.015182   kernel_task 
12:26:46    THROTTLED    0.015443   kernel_task 
12:26:46    THROTTLED    0.015166   kernel_task 
12:26:46    THROTTLED    0.015435   kernel_task 
12:26:46    THROTTLED    0.015105   kernel_task 
12:26:46    THROTTLED    0.015091   kernel_task 
12:26:46    THROTTLED    0.015131   kernel_task 
12:26:46    THROTTLED    0.015259   kernel_task 
12:26:46    THROTTLED    0.014865   kernel_task 
12:26:46    THROTTLED    0.015681   kernel_task 
12:26:46    THROTTLED    0.014455   kernel_task 
12:26:46    THROTTLED    0.015251   kernel_task 
12:26:46    THROTTLED    0.015928   kernel_task 
12:26:46    THROTTLED    0.015053   kernel_task 
12:26:46    THROTTLED    0.014699   kernel_task 
12:26:46    THROTTLED    0.015251   kernel_task 
12:26:46    THROTTLED    0.014499   kernel_task 
12:26:46    THROTTLED    0.015589   kernel_task 
12:26:46    THROTTLED    0.015166   kernel_task 
12:26:46    THROTTLED    0.015422   kernel_task 
12:26:46    THROTTLED    0.018772   nsurlsession
12:26:46    THROTTLED    0.029125   kernel_task 
12:26:46    THROTTLED    0.014671   kernel_task 
12:26:46    THROTTLED    0.014763   kernel_task 
12:26:46    THROTTLED    0.015114   kernel_task 
12:26:46    THROTTLED    0.009341   iStat Menus 
12:26:46    THROTTLED    0.008501   kernel_task 
12:26:46    THROTTLED    0.014090   kernel_task 

Eu aumentei o máximo possível o controle do ventilador (via iStat Menus), já que li isso pode estar relacionado à alta temperatura do processador, mas não fez nenhuma diferença. Apenas matar algumas tarefas ajudou um pouco.

Eu sei como matar as tarefas ou reiniciar o computador para resolver o problema temporariamente. No entanto, estou mais interessado o que exatamente é o throttling do kernel , por que isso acontece ( por que ele é acelerado e o que impede que ele não seja acelerado) e que medidas posso tomar ou como desencorajá-lo? Talvez haja alguma opção para torná-lo menos rigoroso ou desativá-lo, ou talvez diminuir ainda mais a temperatura do CPU possa ajudar?

Detalhes adicionais:

$ uname -a
Darwin MBP.local 15.2.0 Darwin Kernel Version 15.2.0: Fri Nov 13 19:56:56 PST 2015; root:xnu-3248.20.55~2/RELEASE_X86_64 x86_64 i386 MacBookPro11,3 Darwin
$ top | head
Processes: 464 total, 19 running, 8 stuck, 437 sleeping, 4157 threads 
2016/05/25 12:31:44
Load Avg: 30.72, 39.86, 29.86 
CPU usage: 14.86% user, 46.0% sys, 39.12% idle 
SharedLibs: 84M resident, 18M data, 7760K linkedit.
MemRegions: 360850 total, 2901M resident, 55M private, 435M shared.
PhysMem: 16G used (8494M wired), 5664K unused.
VM: 1406G vsize, 528M framework vsize, 3900541086(0) swapins, 3913990343(0) swapouts.
Networks: packets: 136234033/128G in, 133429405/73G out.
Disks: 288046480/15T read, 220716626/15T written.
$ macosver -h | tail -n1
ProductVersion 10.11.2
    
por kenorb 25.05.2016 / 13:58

1 resposta

1

fs_usage mostra informações sobre o uso do sistema de arquivos (e coisas relacionadas). Dado isso, eu suspeito que o THROTTLED de fs_usage indica que o acesso ao disco está sendo limitado e não a CPU (embora o THROTTLED não esteja claramente documentado no man page ). O OSX reduz a taxa de transferência de E / S de aplicativos inativos para oferecer melhor desempenho aos ativos (consulte este artigo do Ars ) então não é necessariamente um problema.

Acho que o importante aqui é que isso não é evidência, de uma forma ou de outra, sua CPU foi sufocada devido ao calor e isso está causando o travamento.

Pode valer a pena procurar e E / S de disco, no entanto. Na maioria dos UNIXes tradicionais, o baixo volume que o disco pode causar aparentemente trava - talvez o que você está vendo - mas você precisaria investigar mais - ou podemos apenas especular.

    
por 21.06.2016 / 20:13