Změnil jsem svůj CentOS 6 CPU Governor z ondemand (výchozí) na konzervativní a po restartování služby cpufreq jsem dostal toto:
/etc/rc5.d/S13cpuspeed:řádek 88:
/sys/devices/system/cpu/cpufreq/conservative/ignore_nice_load:Soubor nebo
adresář neexistuje
Tak co bych měl dělat? Mám soubor vytvořit a pokud ano, co tam mám dát?
Přijatá odpověď:
Pro jádra 3.x
Rozhraní CPUFreq se v novějších jádrech změnilo. To by zahrnovalo CentOS 6. O celém rozhraní si můžete přečíst zde v dokumentaci Red Hat Enterprise Linux (RHEL) s názvem:Kapitola 3. Základní infrastruktura a mechanika.
Konkrétně část o CPUFreq Setup. Zde jsou kroky potřebné k jeho nastavení.
Ovladače CPUFreq
$ ls -1 /lib/modules/`uname -r`/kernel/arch/x86/kernel/cpu/cpufreq/
acpi-cpufreq.ko
mperf.ko
p4-clockmod.ko
pcc-cpufreq.ko
powernow-k8.ko
speedstep-lib.ko
načtěte vhodný ovladač
$ modprobe acpi-cpufreq
nainstalujte nástroj cpupower
$ yum install cpupowerutils
zobrazit guvernéry
$ cpupower frequency-info --governors
analyzing CPU 0:
ondemand userspace performance
Aktuálně tedy máme načteny pouze tyto 3 guvernéry:ondemand , uživatelský prostor a výkon .
načítání chybějících regulátorů
Můžete získat seznam všech guvernérů, kteří jsou takto k dispozici.
$ ls -1 /lib/modules/`uname -r`/kernel/drivers/cpufreq/
cpufreq_conservative.ko
cpufreq_ondemand.ko
cpufreq_powersave.ko
cpufreq_stats.ko
freq_table.ko
$ modprobe cpufreq_powersave
dosud potvrdit moduly:
$ lsmod |grep cpuf
cpufreq_powersave 1196 0
cpufreq_ondemand 10544 8
acpi_cpufreq 7763 0
freq_table 4936 2 cpufreq_ondemand,acpi_cpufreq
mperf 1557 1 acpi_cpufreq
potvrďte, které regulátory jsou načteny
$ cpupower frequency-info --governors
analyzing CPU 0:
powersave ondemand userspace performance
zobrazení aktuálních zásad
$ cpupower frequency-info
analyzing CPU 0:
driver: acpi-cpufreq
CPUs which run at the same hardware frequency: 0 1 2 3 4 5 6 7
CPUs which need to have their frequency coordinated by software: 0
maximum transition latency: 10.0 us.
hardware limits: 1.60 GHz - 3.20 GHz
available frequency steps: 3.20 GHz, 3.20 GHz, 3.07 GHz, 2.93 GHz, 2.80 GHz, 2.67 GHz, 2.53 GHz, 2.40 GHz, 2.27 GHz, 2.13 GHz, 2.00 GHz, 1.87 GHz, 1.73 GHz, 1.60 GHz
available cpufreq governors: powersave, ondemand, userspace, performance
current policy: frequency should be within 1.60 GHz and 3.20 GHz.
The governor "ondemand" may decide which speed to use
within this range.
current CPU frequency is 1.60 GHz (asserted by call to hardware).
boost state support:
Supported: yes
Active: yes
2500 MHz max turbo 4 active cores
2500 MHz max turbo 3 active cores
2500 MHz max turbo 2 active cores
2600 MHz max turbo 1 active cores
Ve výše uvedeném výstupu můžete vidět, že moje současná politika je na vyžádání . Chcete-li vyladit zásady a rychlost, použijte k tomu tento příkaz:
$ cpupower frequency-set --governor performance
Setting cpu: 0
Setting cpu: 1
Setting cpu: 2
Setting cpu: 3
Setting cpu: 4
Setting cpu: 5
Setting cpu: 6
Setting cpu: 7
potvrďte nového guvernéra
$ cpupower frequency-info
analyzing CPU 0:
driver: acpi-cpufreq
CPUs which run at the same hardware frequency: 0 1 2 3 4 5 6 7
CPUs which need to have their frequency coordinated by software: 0
maximum transition latency: 10.0 us.
hardware limits: 1.60 GHz - 3.20 GHz
available frequency steps: 3.20 GHz, 3.20 GHz, 3.07 GHz, 2.93 GHz, 2.80 GHz, 2.67 GHz, 2.53 GHz, 2.40 GHz, 2.27 GHz, 2.13 GHz, 2.00 GHz, 1.87 GHz, 1.73 GHz, 1.60 GHz
available cpufreq governors: powersave, ondemand, userspace, performance
current policy: frequency should be within 1.60 GHz and 3.20 GHz.
The governor "performance" may decide which speed to use
within this range.
current CPU frequency is 3.20 GHz (asserted by call to hardware).
boost state support:
Supported: yes
Active: yes
2500 MHz max turbo 4 active cores
2500 MHz max turbo 3 active cores
2500 MHz max turbo 2 active cores
2600 MHz max turbo 1 active cores
Můžete také vyladit minimální/maximální frekvence CPU v rámci zásady pomocí cpupower frequency-set --min <freq> --max <freq>
. Na této stránce najdete další podrobnosti o tom, co můžete dělat s cpupower frequency-set
.
výše uvedené bez cpupowerutils
Takže konečně, pokud nemáte nainstalovaný balíček cpupowerutils, můžete s ním pracovat podobně jako v předchozích jádrech 2.6. Hodnoty odešlete hlavně do sysfs
souborový systém.
například
$ echo 360000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
Pro jádra 2.6
Na této stránce si můžete přečíst o různých funkcích cpufreq.
výňatek ze škálování frekvence CPU v Linuxu pomocí cpufreq
ignore_nice_load – Tento parametr má hodnotu „0“ nebo „1“. Když je
nastaveno na „0“ (výchozí nastavení), všechny procesy se započítávají do hodnoty „vytížení cpu
“. Při nastavení na ‚1‘ se procesy, které jsou spuštěny s hodnotou
‚hezký‘, nebudou počítat (a budou tedy ignorovány) do výpočtu celkového využití
. To je užitečné, pokud na svém notebooku spouštíte výpočet
náročný na CPU, u kterého vám nezáleží na tom, jak dlouho bude
jeho dokončení trvat, protože jej můžete „zpříjemnit“ a zabránit mu v účasti na
proces rozhodování, zda zvýšit frekvenci procesoru. Chcete-li to zapnout
, proveďte následující.
sudo sh -c "echo 1 > /sys/devices/system/cpu/cpu0/cpufreq/ondemand/ignore_nice_load"
Do tohoto souboru bych vložil 0, protože by to mělo být výchozí. Pokud máte nějaký dlouho běžící proces nice, o čemž silně pochybuji, můžete jej nastavit na 1.