Перейти к содержимому
Калькуляторы

border на linux. Как убедиться что процессор всегда работает на максимальной частоте? как прибить частоту к максимуму?

Как убедиться что процессор всегда работает на максимальной частоте? как прибить частоту к максимуму?

ядро 4.12.0-1.el6.elrepo.x86_64

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

1. powertop 

2. google -> cpu governor

3. Ещё важно для максимальной производительности, чтобы не было переключения в C-state'ы >1 (для этого нужно делать processor.max_cstate=1 intel_idle.max_cstate=0 idle=poll)

 

но будет есть больше электричества

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В i7z можно посмотреть частоты ядер. Самый надежный способ прибить частоту - это выключить P-states в настройках BIOS.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
1 минуту назад, a290 сказал:

В i7z можно посмотреть частоты ядер. Самый надежный способ прибить частоту - это выключить P-states в настройках BIOS.

что такое i7z ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
3 часа назад, a290 сказал:

Самый надежный способ прибить частоту - это выключить P-states в настройках BIOS.

Линуксовому модулю intel_idle(включен по умолчанию везде) пофиг на установки БИОСа, помогает только "processor.max_cstate=1 intel_idle.max_cstate=0".

Частоту и текущие С-state удобно смотреть утилитой i7z.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
55 минут назад, kayot сказал:

Линуксовому модулю intel_idle(включен по умолчанию везде) пофиг на установки БИОСа, помогает только "processor.max_cstate=1 intel_idle.max_cstate=0".

Частоту и текущие С-state удобно смотреть утилитой i7z.

intel_idle   - как посмотреть наличие этого модуля?

ядро грузится с параметрами intel_idle.max_cstate=0 processor.max_cstate=1

 

 

что нужно наблюдать в выводе i7z?

 

 

Cpu speed from cpuinfo 2400.00Mhz
True Frequency (without accounting Turbo) 2400 MHz

Socket [0] - [physical cores=4, logical cores=4, max online cores ever=4]
  CPU Multiplier 18x || Bus clock frequency (BCLK) 133.33 MHz
  TURBO DISABLED on 4 Cores, Hyper Threading OFF
  Max Frequency without considering Turbo 2400.00 MHz (133.33 x [18])
  Max TURBO Multiplier (if Enabled) with 1/2/3/4 cores is  20x/20x/19x/19x
  Real Current Frequency 2400.04 MHz (Max of below)
        Core [core-id]  :Actual Freq (Mult.)      C0%   Halt(C1)%  C3 %   C6 %  Temp      VCore
        Core 1 [0]:       2400.03 (18.00x)        10      90       0       0    36      0.0000
        Core 2 [1]:       2400.02 (18.00x)      10.3    89.7       0       0    32      0.0000
        Core 3 [2]:       2400.04 (18.00x)      9.01      91       0       0    32      0.0000
        Core 4 [3]:       2400.02 (18.00x)      9.84    90.2       0       0    37      0.0000

Socket [1] - [physical cores=4, logical cores=4, max online cores ever=4]
  CPU Multiplier 18x || Bus clock frequency (BCLK) 133.33 MHz
  TURBO DISABLED on 4 Cores, Hyper Threading OFF
  Max Frequency without considering Turbo 2400.00 MHz (133.33 x [18])
  Max TURBO Multiplier (if Enabled) with 1/2/3/4 cores is  20x/20x/19x/19x
  Real Current Frequency 2399.06 MHz (Max of below)
        Core [core-id]  :Actual Freq (Mult.)      C0%   Halt(C1)%  C3 %   C6 %  Temp      VCore
        Core 1 [4]:       2399.03 (17.99x)      9.16    90.8       0       0    37      0.0000
        Core 2 [5]:       2399.03 (17.99x)      11.8    88.2       0       0    36      0.0000
        Core 3 [6]:       2399.06 (17.99x)      7.89    92.1       0       0    38      0.0000
        Core 4 [7]:       2399.01 (17.99x)      11.7    88.3       0       0    35      0.0000

C0 = Processor running without halting
C1 = Processor running with halts (States >C0 are power saver)
C3 = Cores running with PLL turned off and core cache turned off
C6 = Everything in C3 + core state saved to last level cache
 

 

вот так еще бывает  - появляется  "inf (infx)  "

 

Cpu speed from cpuinfo 2400.00Mhz
True Frequency (without accounting Turbo) 2400 MHz

Socket [0] - [physical cores=4, logical cores=4, max online cores ever=4]
  CPU Multiplier 18x || Bus clock frequency (BCLK) 133.33 MHz
  TURBO DISABLED on 4 Cores, Hyper Threading OFF
  Max Frequency without considering Turbo 2400.00 MHz (133.33 x [18])
  Max TURBO Multiplier (if Enabled) with 1/2/3/4 cores is  20x/20x/19x/19x
  Real Current Frequency 2400.39 MHz (Max of below)
        Core [core-id]  :Actual Freq (Mult.)      C0%   Halt(C1)%  C3 %   C6 %  Temp      VCore
        Core 1 [0]:       2400.10 (18.00x)      14.4    85.6       0       0    32      0.0000
        Core 2 [1]:       2400.30 (18.00x)         1    99.8       0       0    30      0.0000
        Core 3 [2]:       2400.39 (18.00x)         1    99.9       0       0    28      0.0000
        Core 4 [3]:       2400.23 (18.00x)         1    99.8       0       0    32      0.0000

Socket [1] - [physical cores=4, logical cores=4, max online cores ever=4]
  CPU Multiplier 18x || Bus clock frequency (BCLK) 133.33 MHz
  TURBO DISABLED on 4 Cores, Hyper Threading OFF
  Max Frequency without considering Turbo 2400.00 MHz (133.33 x [18])
  Max TURBO Multiplier (if Enabled) with 1/2/3/4 cores is  20x/20x/19x/19x
  Real Current Frequency 2400.29 MHz (Max of below)
        Core [core-id]  :Actual Freq (Mult.)      C0%   Halt(C1)%  C3 %   C6 %  Temp      VCore
        Core 1 [4]:       2400.24 (18.00x)         1    99.7       0       0    28      0.0000
        Core 2 [5]:       inf (infx)       1       0       0       0    25      0.0000                               <----------------------------!!!!!!!!!!!!!
        Core 3 [6]:       2400.29 (18.00x)         1    99.7       0       0    27      0.0000
        Core 4 [7]:       2400.14 (18.00x)         1    99.7       0       0    26      0.0000

C0 = Processor running without halting
 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
1 час назад, QWE сказал:

intel_idle   - как посмотреть наличие этого модуля?

dmesg | grep intel_idle (если dmesg не загажен и начинается с 0)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
10 минут назад, s.lobanov сказал:

dmesg | grep intel_idle (если dmesg не загажен и начинается с 0)

# dmesg | grep intel_idle
Command line: ro root=UUID=c8e5dbbd-8010-4b54-bda6-96a730ffbffe rd_NO_LUKS rd_NO_LVM LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=auto  KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet intel_idle.max_cstate=0 processor.max_cstate=1
Kernel command line: ro root=UUID=c8e5dbbd-8010-4b54-bda6-96a730ffbffe rd_NO_LUKS rd_NO_LVM LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=auto  KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet intel_idle.max_cstate=0 processor.max_cstate=1
intel_idle: disabled
 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ну ок, теперь cpu должен быть постоянно в C0. См. через powertop или тулзу что сказали выше

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

@QWE Все у вас красиво.

CPU на максимальной частоте и в основном в C1 - бесплатный по ресурсам и энергоэффективный режим.

Можно добавить idle=poll в параметры ядра, CPU при этом навсегда останется в C0 без каких-либо сберегаек вообще. IMHO в этом нет смысла, выход из состояния C1 HLT - мгновенный.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

всем спасибо за помощь

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
В 05.06.2018 в 22:18, kayot сказал:

выход из состояния C1 HLT - мгновенный.

а можно пруф? 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
В 05.06.2018 в 22:18, kayot сказал:

@QWE Все у вас красиво.

CPU на максимальной частоте и в основном в C1 - бесплатный по ресурсам и энергоэффективный режим.

Можно добавить idle=poll в параметры ядра, CPU при этом навсегда останется в C0 без каких-либо сберегаек вообще. IMHO в этом нет смысла, выход из состояния C1 HLT - мгновенный.

 

Столкнулся совсем недавно, при 

nosoftlockup intel_idle.max_cstate=0 processor.max_cstate=1 mce=ignore_ce idle=poll

температура на CPU0 E5-2660 и включённом Turbo Boost взлетала до 80-81°C.

Убрал idle=poll, стало 70-71°C

 

 

В 07.06.2018 в 09:58, s.lobanov сказал:

а можно пруф? 

https://www.nix.ru/computer_hardware_news/hardware_news_viewer.html?id=188056

 

В биосе при этом P0

 

image.png.837dc984316ab53c2e639f40e180504b.png

 

Ну и частота задрана соотвественно

Every 2.0s: grep "cpu MHz" /proc/cpuinfo                                                                                                                                                                                                               Wed Dec  5 18:22:52 2018

cpu MHz         : 2667.000
cpu MHz         : 2667.000
cpu MHz         : 2667.000
cpu MHz         : 2667.000
cpu MHz         : 2667.000
cpu MHz         : 2667.000

 

https://wiki.archlinux.org/index.php/CPU_frequency_scaling в эту же тему.

 

tuning_HP.pdf

Изменено пользователем hsvt

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

C1 (Halt)- состояние, когда процессор не исполняет инструкции, но готов мгновенно ( с задержкой примерно 10нс) приступить к их исполнению, при этом его энергопотребление составляет примерно 30% от нормы.

 

получается что в этом режиме самое то находиться

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
for CPUFREQ in /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor; do [ -f $CPUFREQ ] || continue; echo -n performance > $CPUFREQ; done

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Или так
 

 grep CPU_FREQ /boot/config
CONFIG_CPU_FREQ=y
CONFIG_CPU_FREQ_STAT=m
# CONFIG_CPU_FREQ_STAT_DETAILS is not set
CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
CONFIG_CPU_FREQ_GOV_POWERSAVE=m
# CONFIG_CPU_FREQ_GOV_USERSPACE is not set
# CONFIG_CPU_FREQ_GOV_ONDEMAND is not set
# CONFIG_CPU_FREQ_GOV_CONSERVATIVE is not set

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас