Jump to content
Калькуляторы

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

1. powertop 

2. google -> cpu governor

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

 

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

1 минуту назад, a290 сказал:

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

что такое i7z ?

Share this post


Link to post
Share on other sites

3 часа назад, a290 сказал:

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

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

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

Share this post


Link to post
Share on other sites

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
 

Share this post


Link to post
Share on other sites

1 час назад, QWE сказал:

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

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

Share this post


Link to post
Share on other sites

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
 

 

Share this post


Link to post
Share on other sites

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

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

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

Share this post


Link to post
Share on other sites

В 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

Edited by hsvt

Share this post


Link to post
Share on other sites

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

 

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

Share this post


Link to post
Share on other sites

Или так
 

 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

 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.