Un'altra alternativa che non è stata menzionata è cpufrequtils
, che ho installato e utilizzato sul mio portatile con Debian 6. Ti permette di cambiare l'algoritmo (governor , in cpufrequtils
terminologia) che il kernel utilizza per aumentare e diminuire la frequenza di clock in risposta al carico, in particolare il userspace
governatore ti consente di bloccare la frequenza su qualcosa di tua scelta (ovviamente la CPU deve essere in grado di funzionare a questa velocità).
L'ho usato per bloccare un Atom a 800 MHz invece di 1,6 GHz, per esempio. È molto facile da usare.
Non so che limitare la CPU all'intero sistema sia qualcosa che sia possibile senza un sacco di hacking, ma puoi facilmente limitare la quantità di CPU utilizzata da un singolo processo usando cpulimit
L'unico modo in cui posso pensare che tu sia in grado di usarlo in modo efficace è scrivere uno script wrapper (non posso davvero chiamarlo script, è così piccolo) per le applicazioni che sai essere dei maiali di risorse. Supponiamo ad esempio che tu trovi che google-chrome utilizza molta CPU, potresti sostituire il binario di google-chrome nel tuo percorso con qualcosa del tipo:
#! /bin/bash
cpulimit --limit 70 /usr/bin/google-chrome-bin
Non l'ho testato quindi prendilo con le pinze. Dal sito Web di cpulimit, sembra che potresti essere in grado di impostare regole per i limiti della cpu su diverse applicazioni. Non sono sicuro, dovresti dare un'occhiata.
Puoi limitare automaticamente i core della CPU in base alla temperatura utilizzando lo script temp_throttle. Può funzionare in background mentre ti concentri su cose più importanti. Un esempio su come eseguire:
sudo ./temp_throttle.sh 80 # Will limit CPU cores when 80C is reached.
*Disclaimer- Sono l'autore e il manutentore di temp_throttle*