Atualização: captura de tela ao vivo de quando isso acontece
Então... Quando estou usando o Zoom, na maioria das vezes durante o compartilhamento de tela, ou quando outra pessoa está compartilhando, todos os meus núcleos fecham em 100%, como na captura de tela acima, e tudo fica muito lento. Eu posso ver as pessoas me dizendo que há um eco, e o Zoom me dá o erro "alto uso da CPU está diminuindo o Zoom", mas o Zoom é o que está mastigando minhas CPUs. Mesmo se eu matar o zoom e meu navegador, ainda tenho um comportamento estranho e lento. Não consigo abrir aplicativos, nada é tão responsivo. É como se algo ficasse permanentemente errado.
A única maneira de restaurar a função normal é reiniciar a máquina.
Capturas de tela:
Devo jogar fora meu computador, voar para uma ilha do Caribe e me aposentar?
Parece que você tem dois problemas acontecendo no que diz respeito ao seu computador:
Eu deduzo que o que você realmente quer dizer é
1 – "Tweaking" (quebrar) o agendador para forçar a limitação de um processo intensivo da CPU
Para lidar com o primeiro, além de reclamar alto (e não usar fundos de vídeo), você pode querer considerar limitar a quantidade de CPU que ele pode ter. Isso é feito no linux por meio de grupos de controle ou CGROUPS , o que pode limitar efetivamente o agendamento para um único grupo. Por exemplo, você pode usar CGROUPS para fazer com que o kernel restrinja os processos dentro de um CGROUP para usar, digamos, por exemplo, 100 ms de cada 1000 ms (ou 0,1s de cada 1s) de tempo de CPU. Isso piorará as coisas para sua experiência com o Zoom, mas pode ser melhor no geral.
Para dar uma chance,
sudo apt install cgroup-tools libcgroup1 libcgroup-dev
e então crie um cgroup limitado por CPU comAqui, cpulimit é o nome do grupo que controla o uso da CPU.
cpu.cfs_period_us
Agora, você tem que definir umacpu.cfs_quota_us
propriedade nocpulimit
grupo.De acordo com o exemplo acima, vamos definir 1 s ou 1000000 us (microssegundos) devem ser definidos como
cpu.cfs_period_us
propriedade e 100 ms ou 100000 us devem ser definidos comocpu.cfs_quota_us
propriedadePara verificar se esse é o caso, execute
sudo cgget -g cpu:cpulimit
e observe que esses sinalizadores estão definidos.Agora, qualquer processo que você adicionar ao
cpulimit
CGROUP será, como o nome sugere, limitado a usar 1/10 (100000/1000000 = 1/10 = 0,1 = 10%) do total de ciclos de CPU. No mínimo, isso provavelmente ajuda bastante.Agora, para realmente usar isso e iniciar um processo, inicie o programa ou comando
cgexec
da seguinte maneira:onde
YOUR_COMMAND
pode ser/path/to/zoom
ou literalmente qualquer outra coisa .2 – Encontrando porcos de desempenho no Firefox
O Firefox tem uma
about:performance
página bacana que o ajudará a identificar páginas famintas. muitas vezes, eles usam muito javascript, exibem anúncios ou podem até ser tão rudes a ponto de executar, por exemplo, um minerador de criptomoedas sem avisar. Além de matar (fechar) a página culpada, uma coisa que você pode querer fazer para impedir que isso aconteça novamente é mergulhar e usar um bloqueador de javascript seletivo como o excelente umatrix para evitar que isso aconteça novamente. Claro, ele quebra algumas páginas, mas você geralmente aprende algo sobre a web ao desbloquear links específicos ;-).3 – Impedindo que sua GUI fique atrasada
Assim como os cgroups não usados com frequência para colocar um limite rígido no agendamento do processador, o Linux tem uma ideia embutida de prioridade de processo. Por razões de história que eu adoraria aprender se outros pudessem me educar, Linus chamou essa prioridade de gentileza . Podemos renice (ou
sudo renice
) um processo para torná-lo "melhor" -- ou seja, executar com uma prioridade mais alta. Por padrão, os usuários podem renovar processos para uma prioridade de0
(e até19
) e raiz para-20
. Processos inferioresniceness
recebem mais prioridade pelo escalonador. (Acho que a ideia aqui é que um processo com o qual você realmente não se importa - ou seja, um que seria "bom de ter" - recebe uma gentileza maior para diminuir sua prioridade).Para o gnome, pode /pode/ ajudar
renice
o gui a uma menor gentileza. Isso é muito fácil de fazer; por exemplosudo renice -3 -p $(pgrep Xwayland) && sudo renice -3 -p $(pgrep gnome-shell)
. Novamente, de forma semelhante ao acima,nice
iniciará um processo com uma gentileza especificada; mas aqui você precisa especificá-lo com um de-
antemão -- para quenice -10 /path/to/zoom
isso comecezoom
com uma gentileza de+10
(enice --10 /path/to/zoom
com uma gentileza de-10
). Isso também /pode/ ser uma maneira melhor de fazer isso.Isso pode ser um problema com o firefox ou o chrome/chromium sendo executado em segundo plano. Ou qualquer outro aplicativo está consumindo a RAM ou a CPU. Verifique o processo no Monitor do sistema e mate o processo