kidle_inject использует мощность процессора без видимой причины [дубликат]

На этот вопрос уже есть ответ здесь:

Я использую ubuntu 14.04 LTS на ноутбуке Dell Inspiron i5-3250M, 6 ГБ ОЗУ. Все это время я замечал по монитору использования процессора, что мой процессор загружен очень часто (без использования чего-то действительно интенсивного) и это приводит к перегреву.

Я проверил с системного монитора, и сначала мне показалось, что проблема в моей видеокарте (AMD Radeon 7670M - гибридная графика с Intel HD 4000). В любом случае я установил fglrx-updates (единственное тот, который на самом деле решил проблему с перегревом - fglrx и xorg не помогли), и все работало немного более гладко.

Я также установил Intel p-state и Thermald. Поставил его на регулятор PowerSave, но все равно не повезло. установлен tlp (между ними нет конфликта).

Пытался увидеть, вызвана ли ошибка compiz или adobe-flash. Не повезло. Кроме того, HTML5 через некоторое время использует БОЛЬШОЙ ЦП и отстает от всего на моем компьютере.

После того, как я проделал все это, я посмотрел на результаты команды $ top и виноват, похоже, kidle_inject. Он каждый раз использует около 50% процессора. Я не мог не заметить, что казалось, что у него было четыре модуля - kidle_inject / 0 до kidle_inject / 3.

Итак, что это за kidle_inject? Я не смог найти что-то убедительное по этому поводу.Кажется, что он включен, когда я использую что-то ресурсоемкое, и он продолжает загружать мой процессор в течение минуты или двух после завершения использования.

Как я могу это исправить, чтобы наконец можно было использовать мой компьютер? Я говорю о минимальной температуре 70 ° C при использовании с низкой производительностью. Я сильно зависим от Linux, и я хотел бы продолжать использовать Ubuntu (так как я очень к нему привык и полюбил).

- Должен сказать, что это не моя машина виновата. Когда он работает под Windows 7, он отлично работает при низких температурах.

20
задан 12 June 2014 в 17:18

4 ответа

Поскольку Вы включили Intel P-state (до intel_pstate=enable в GRUB_CMDLINE_LINUX_DEFAULT), Вы также включили powerclamp драйвер. powerclamp драйвер работает, чтобы попытаться сохранить процессор в состоянии низкой мощности, так, чтобы потребляемая мощность была уменьшена, и не, столько же охлаждения требуется.

, Чтобы сделать это, это вынуждает каждый поток на ЦП быть неактивным для некоторого количества времени путем введения времени простоя. Как правило, эта сумма составляет 50%. 50% Вы видите каждый из kidle_inject процессы, на самом деле не заставляют ЦП делать работу; скорее это говорит ЦП не делать работу, таким образом уменьшая потребляемую мощность. Обратите внимание, что полное использование ЦП делает не , включают kidle-inject.

Как @ElderGeek отмеченный, можно сказать драйверу вводить меньше количества времени простоя. Однако я попробовал это и был неудачен. Может случиться так, что ядро еще не поддерживает его; может случиться так, что powerclamp игнорирует запрос.

18
ответ дан 12 June 2014 в 17:18

powerclamp драйвер регистрируется к универсальному тепловому слою как устройство охлаждения. В настоящее время, it’s не связанный с любыми тепловыми зонами.

Вот пример от одной из моих систем.

grep . /sys/class/thermal/cooling_device*/type

/sys/class/thermal/cooling_device0/type:Fan
/sys/class/thermal/cooling_device10/type:LCD
/sys/class/thermal/cooling_device1/type:Fan
/sys/class/thermal/cooling_device2/type:Fan
/sys/class/thermal/cooling_device3/type:Fan
/sys/class/thermal/cooling_device4/type:Fan
/sys/class/thermal/cooling_device5/type:Processor
/sys/class/thermal/cooling_device6/type:Processor
/sys/class/thermal/cooling_device7/type:Processor
/sys/class/thermal/cooling_device8/type:Processor
/sys/class/thermal/cooling_device9/type:intel_powerclamp

использование В качестве примера: - для введения 25%-го времени простоя:

sudo sh -c "echo 25 > /sys/class/thermal/cooling_device9/cur_state

источник: https://www.kernel.org/doc/Documentation/thermal/intel_powerclamp.txt

3
ответ дан 12 June 2014 в 17:18

Я думаю, что здесь должна быть некоторая ошибка, так как в моей системе, kidle_inject вводит 50% во всех центральных процессорах, так, чтобы, когда я выполняю единственный потоковый процесс, это только получило остающиеся 50% ЦП, на котором это работает. rmmod intel_powerclamp фиксирует это.

10
ответ дан 12 June 2014 в 17:18

Если Вы смотрите при температуре и точках прохождения в

/sys/class/thermal/thermal_zone0/temp

, и

/sys/class/thermal/thermal_zone0/trip_point_0_temp

можно найти (как я сделал и затем оказался в этом вопросе), что система работает столь горячий, что это управляет температурой путем введения неактивных циклов как @elder-geek упомянутый.

В моем случае это - самый жаркий день года до сих пор, и мой поклонник перестал работать, но мой ноутбук выживает благодаря этой функции.

3
ответ дан 12 June 2014 в 17:18

Другие вопросы по тегам:

Похожие вопросы: