CPU Turbo Boost: изменить ограничение температуры до 14,04

Я установил kubuntu 14.04, и есть проблема с турбо-частотой процессора. Я много об этом читал, но не могу найти правильный ответ.

В моем ноутбуке Lenovo Y580 есть процессор i7-3630QM с тактовой частотой 2,40 ГГц и 3,20 ГГц турбо. Если я поставлю процессор на полную нагрузку (с рендерингом в блендере на 8 потоков), частота скачет примерно до 3,2 ГГц для всех ядер, но через несколько секунд, когда температура поднимется, частота снизится до 2,4 ГГц, и останется на нем во время рендеринга (вентилятор не работает на максимальной скорости).

Когда я использовал Ubuntu 12.10, эта проблема не возникала, но это происходит в 13.10 и 14.04.

Мой кулер для ноутбуков действительно хорош, поэтому нет проблем с перегревом при полной скорости турбо-наддува (температура процессора была 85-90°C при 3.2 ГГц в ubuntu 12.10), поэтому я хочу использовать его на полной скорости. Как я могу использовать процессор с турбонаддувом на полной частоте 3,2 ГГц в Ubuntu 14.04 без этого ограничения (температуры?)?

(после обсуждения с Тердоном) Я думаю, проблема в том, что частота процессора уменьшается, прежде чем вентилятор сможет реагировать на высокую температуру. ПОСЛЕ того, как процессор уменьшил частоту с 3,2 до 2,4 ГГц, вентилятор на мгновение раскручивается, но поскольку скорость процессора уже уменьшена, он выделяет меньше тепла, поэтому частота вращения вентилятора падает. Было бы хорошо, если бы после охлаждения процессора частота снова возросла до 3,2 ГГц, но она осталась на 2,4 ГГц.

Некоторые измерения:

Вывод программы i7z, когда рендер только начался:

 Cpu speed from cpuinfo 2394.00Mhz                                                                                                                               
cpuinfo might be wrong if cpufreq is enabled. To guess correctly try estimating via tsc                                                                         
Linux's inbuilt cpu_khz code emulated now                                                                                                                       
True Frequency (without accounting Turbo) 2394 MHz                                                                                                              
  CPU Multiplier 24x || Bus clock frequency (BCLK) 99.75 MHz                                                                                                    

Socket [0] - [physical cores=4, logical cores=8, max online cores ever=4]                                                                                       
  TURBO ENABLED on 4 Cores, Hyper Threading ON                                                                                                                  
  Max Frequency without considering Turbo 2493.75 MHz (99.75 x [25])                                                                                            
  Max TURBO Multiplier (if Enabled) with 1/2/3/4 Cores is  34x/33x/32x/32x                                                                                      
  Real Current Frequency 3192.01 MHz [99.75 x 32.00] (Max of below)                                                                                             
        Core [core-id]  :Actual Freq (Mult.)      C0%   Halt(C1)%  C3 %   C6 %   C7 %  Temp                                                                     
        Core 1 [0]:       3191.98 (32.00x)       100       0       0       0       0    83                                                                      
        Core 2 [2]:       3192.01 (32.00x)      99.8       0       0       0       1    92                                                                      
        Core 3 [4]:       3192.00 (32.00x)       100       0       0       0       0    88                                                                      
        Core 4 [6]:       3192.00 (32.00x)       100       0       0       0       0    76                                                                      
...

И через 5-10 секунд (тоже при полной загрузке):

Cpu speed from cpuinfo 2394.00Mhz                                                                                                                               
cpuinfo might be wrong if cpufreq is enabled. To guess correctly try estimating via tsc                                                                         
Linux's inbuilt cpu_khz code emulated now                                                                                                                       
True Frequency (without accounting Turbo) 2394 MHz                                                                                                              
  CPU Multiplier 24x || Bus clock frequency (BCLK) 99.75 MHz                                                                                                    

Socket [0] - [physical cores=4, logical cores=8, max online cores ever=4]                                                                                       
  TURBO ENABLED on 4 Cores, Hyper Threading ON                                                                                                                  
  Max Frequency without considering Turbo 2493.75 MHz (99.75 x [25])                                                                                            
  Max TURBO Multiplier (if Enabled) with 1/2/3/4 Cores is  34x/33x/32x/32x                                                                                      
  Real Current Frequency 2462.52 MHz [99.75 x 24.69] (Max of below)                                                                                             
        Core [core-id]  :Actual Freq (Mult.)      C0%   Halt(C1)%  C3 %   C6 %   C7 %  Temp                                                                     
        Core 1 [0]:       2394.01 (24.00x)       100       0       0       0       0    65                                                                      
        Core 2 [2]:       2394.00 (24.00x)       100       0       0       0       0    74                                                                      
        Core 3 [4]:       2462.43 (24.69x)       100       0       0       0       0    71                                                                      
        Core 4 [6]:       2462.52 (24.69x)      99.9       0       0       0       0    61        
...

Заранее спасибо за ответы.

2 ответа

Решение

После долгих поисков я нашел ответ на свой вопрос на этой странице: http://www.webupd8.org/2014/04/prevent-your-laptop-from-overheating.html

Старый acpi-cpufreq не может хорошо управлять турбонаддувом, но intel_pstate водитель и thermald Можно. Я включил intel_pstate и установлен thermald, Теперь процессор может работать в режиме Turbo Boost на частоте 3,2 ГГц почти непрерывно. Это означает около 25-30 % дополнительной производительности при рендеринге в блендере.

К сожалению, это также означает больше тепла, поэтому температура ядра моего процессора колеблется в районе 90-100°C, а иногда и сама себя душит. Тредон, ты был прав, я должен почистить вентилятор.:)

На странице Intel 105 °C - максимальная температура перехода моего процессора, при этом активируется термическое регулирование, поэтому мне не нужно беспокоиться о перегреве процессора.

К сожалению, я не могу найти полезного примера для настройки и использования thermaldПоэтому я оставляю параметры по умолчанию, но когда я читаю, это может сильно помочь в охлаждении.

Это не ошибка, это особенность! Проверьте температуру, единственная причина, по которой скорость процессора снижается, - это перегрев. Посмотрите на первый вывод, который вы показываете, у вас одно из ваших ядер работает при 92°C! Это довольно жарко для начала и, вероятно, пошло еще выше, прежде чем ваша тактовая частота была снижена.

Вы можете проверить максимальную температуру, с которой может работать ваш процессор, запустив sensors, Например, для моего Intel i7:

$ sensors
coretemp-isa-0000
Adapter: ISA adapter
Core 0:       +77.0°C  (high = +95.0°C, crit = +105.0°C)
Core 2:       +79.0°C  (high = +95.0°C, crit = +105.0°C)

Итак, на моей машине 95.0°C считается высокой, а 105°C - критической температурой, при которой машина будет выключена. Ваши характеристики могут немного отличаться, но 92.0°C определенно высока.

Теперь вы можете заставить свой процессор поддерживать одинаковую тактовую частоту. Это контролируется регулятором процессора. Вы, вероятно, настроили его на ondemand, но доступны следующие опции:

  • Производительность поддерживает процессор на максимально возможной частоте
  • Powersave поддерживает процессор на минимально возможной частоте
  • Userspace экспортирует доступную информацию о частоте на пользовательский уровень (через файловую систему / sys) и позволяет контролировать частоту процессора в пространстве пользователя
  • Ondemand масштабирует частоты процессора в соответствии с загрузкой процессора (как это делают демоны масштабирования частоты в пользовательском пространстве, но в ядре)
  • Консервативный действует как по требованию, но увеличивает частоту шаг за шагом

Чтобы изменить свой регулятор, например, на "Производительность", запустите:

echo "performance" | sudo tee /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor

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

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

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