Мой ноутбук (HP с чипом i3) перегревается, как сумасшедший, каждый раз, когда я запускаю ресурсоемкий процесс (например, большую компиляцию, извлечение больших тарболлов или ... проигрывание Flash).
В настоящее время я изучаю некоторые решения для охлаждения, но у меня появилась идея ограничить глобальное потребление процессора. Я подумал, что если процессор будет ограничен, скорее всего, температура перестанет неистово расти, и я готов пожертвовать небольшой производительностью, чтобы выполнить работу.
- Я ошибаюсь в своих рассуждениях?
- Как я могу перейти к ограничению использования процессора в целом?
Если это поможет, я использую Debian.
Ответы:
Я не знаю, что ограничение ЦП всей системой - это то, что возможно без большого взлома, но вы можете легко ограничить количество ЦП, используемое одним процессом, используя cpulimit.
Единственный способ, которым я могу думать о том, что вы можете эффективно использовать это, - это написать скрипт-обертку (на самом деле он не может называть его скриптом, он настолько мал) для приложений, которые, как вы знаете, являются источником ресурсов. Скажем, например, вы обнаружите, что Google-Chrome использует много ресурсов процессора, вы можете заменить двоичный файл Google-Chrome на вашем пути на что-то вроде:
Я не проверял это, поэтому возьмите его с крошкой соли. С веб-сайта cpulimit кажется, что вы можете установить правила для ограничений процессоров в разных приложениях. Я не уверен, вам нужно взглянуть.
источник
Еще одна альтернатива, которая не была упомянута, - это то
cpufrequtils
, что я установил и использовал на своем ноутбуке с Debian 6. Он позволяет вам изменить алгоритм ( регулятор вcpufrequtils
терминологии), который используется ядром для увеличения и уменьшения тактовой частоты в ответ для загрузки - в частности,userspace
регулятор позволяет вам заблокировать частоту по вашему выбору (конечно, процессор должен быть способен работать на этой скорости).Например, я использовал его для блокировки Atom на частоте 800 МГц вместо 1,6 ГГц. Это очень просто в использовании.
источник
Вы можете ограничить количество ядер вашего процессора в зависимости от температуры, используя скрипт temp_throttle . Он может работать в фоновом режиме, пока вы сосредоточены на более важных вещах. Пример того, как запустить:
* Отказ от ответственности - я автор и сопровождающий temp_throttle *
источник
Зайдите в биос и разгоните процессор. - Нет необходимости в хитрости.
источник
Посетите эту страницу, она объясняет, как установить и использовать
cpulimit
в Debian и Ubuntu:http://www.howtoforge.com/how-to-limit-cpu-usage-of-a-process-with-cpulimit-debian-ubuntu
источник
Нет необходимости менять регулятор, вам просто нужно изменить значение
/sys/devices/system/cpu/*/cpufreq/scaling_max_freq
для каждого ядра процессора.Например, с этим для цикла:
см. также мой скрипт setcpu .
( оригинальные команды найдены здесь )
источник
Вы можете использовать
renice
для изменения приоритета процесса по идентификатору процесса или группы. Из примеров дляrenice
:Настройте значение nice так, чтобы идентификаторы процессов 987 и 32 имели меньшее значение nice:
renice -n 5 -p 987 32
Настройте значение nice так, чтобы идентификаторы групп 324 и 76 имели более высокое значение nice, если у пользователя есть соответствующие привилегии для этого:
renice -n -4 -g 324 76
Настройте значение nice так, чтобы числовой идентификатор пользователя 8 и пользователь sas имели меньшее значение nice:
renice -n 4 -u 8 sas
источник