Como posso "acelerar" um aplicativo para que ele não use 100% da CPU?

2

Eu uso o Arch Linux. Eu executo o aplicativo de código fechado Spotify. Recentemente, ele está exibindo um bug muito desagradável, embora ele use 100% da minha CPU. Meu computador está com alguns problemas de refrigeração (é necessário instalar alguns ventiladores) e, portanto, esse aplicativo pode realmente fazer com que o computador se desligue.

Enfim, eu tenho um processador de 6 núcleos, mas de alguma forma esse aplicativo consegue utilizar 100% de todos os 6 núcleos. Enquanto espero que o aplicativo seja corrigido, eu gostaria de poder ouvir música. O Spotify só entra nesse estado às vezes também, geralmente ao tentar tocar determinadas músicas (posso dizer porque acaba ficando silencioso quando acontece).

Meu principal problema é o pouco de superaquecimento. Enquanto espero a chegada de alguns fãs, qual é a melhor maneira de acelerar esse aplicativo para que meu computador não superaqueça?

Earlz
fonte
Para a limitação do número de núcleos de um processo podem utilizar: serverfault.com/questions/32322/...
Ankur

Respostas:

6

Você pode dar uma olhada no bom utilitário. Como o nome sugere, isso significa dizer ao aplicativo para "ser legal" ou até "melhor" - dependendo do nível em que você o passa. Dando um exemplo:

nice -n 19 spotify

pediria ao spotify que fosse realmente legal com outros processos em termos de recursos (ou seja, deixaria muitos recursos, consumindo pouco em si). O nicenível especificado pode variar de 19 ("Não sou digno, não sou digno ...") a -20 (número negativo; "Sou rei, ajoelhe-se!")

Izzy
fonte
2
Na verdade, números mais positivos são melhores ("não sou digno"). E renicepara alterar o nível de um programa já em execução.
Dennis Williamson
2

confira este programa:

https://github.com/Sepero/temp-throttle

ele acelera a frequência do seu processador quando fica muito quente, para que não superaqueça. uma vez que a temperatura está abaixo de um nível aceitável, aumenta a frequência novamente.

Eu testei e parece funcionar muito bem. Eu não tive nenhum problema de superaquecimento, mesmo em dias em que o ar ao redor estava bem acima de 90 graus Fahrenheit e com a CPU em plena explosão. (como uma advertência, eu também havia aplicado uma atualização da BIOS antes de testá-la, mas o programa mostrou que estava acelerando e desacelerando ao longo do dia.) Eu uso o programa com o limite superior sugerido de 80 graus Celsius.

EDIT: Atualmente, uso o cpufreqd para acelerar minha CPU:

$ cat /etc/cpufreqd.conf
[General]
pidfile=/var/run/cpufreqd.pid
poll_interval=2
verbosity=4
[/General]

[acpi]
acpid_socket=/var/run/acpid.socket
[/acpi]

[Profile]
name=High
minfreq=0000000
maxfreq=2000000
policy=conservative
[/Profile]

[Profile]
name=Medium
minfreq=0000000
maxfreq=1400000
policy=conservative
[/Profile]

[Profile]
name=Low
minfreq=0000000
maxfreq=1100000
policy=powersave
[/Profile]



[Rule]
name=Default
acpi_temperature=thermal_zone0:0-65
profile=High
[/Rule]

[Rule]
name=CPU Getting Hot
acpi_temperature=thermal_zone0:65-75
profile=Medium
[/Rule]

[Rule]
name=CPU Almost Too Hot
acpi_temperature=thermal_zone0:75-200
profile=Low
[/Rule]
sudoman
fonte
3
isso diminuiria a frequência de toda a minha CPU, o que não é desejado. Eu só quero limitar a quantidade de uma única aplicação pode utilizar o meu CPU
Earlz
Eu concordo, não é exatamente o que você está procurando, mas pelo menos ajudará as pessoas cujos computadores estão travando devido ao superaquecimento, quando a cpu estiver 100% ativa (como a minha). 'nice' não altera a quantidade de CPU usada tanto quanto altera a prioridade do programa. por isso, permite que o porco coma todos os ciclos restantes, mas somente depois que as galinhas e leitões comerem tudo o que querem primeiro.
sudoman