Ich habe meinen CentOS 6-CPU-Governor von ondemand (dem Standard) auf konservativ geändert und dies nach dem Neustart des cpufreq-Dienstes erhalten:
/etc/rc5.d/S13cpuspeed:Zeile 88:
/sys/devices/system/cpu/cpufreq/conservative/ignore_nice_load:Datei oder
Verzeichnis existiert nicht
Also was soll ich tun? Soll ich die Datei erstellen und wenn ja, was soll ich dort ablegen?
Akzeptierte Antwort:
Für 3.x-Kernel
Die Schnittstelle zu CPUFreq hat sich in den neueren Kerneln geändert. Dazu gehört CentOS 6. Sie können die gesamte Benutzeroberfläche hier in der Red Hat Enterprise Linux (RHEL)-Dokumentation mit dem Titel:Kapitel 3. Kerninfrastruktur und -mechanismen nachlesen.
Insbesondere der Abschnitt über CPUFreq Setup. Hier sind die Schritte, die zum Einrichten erforderlich sind.
CPUFreq-Treiber
$ 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
entsprechenden Treiber laden
$ modprobe acpi-cpufreq
cpupower-Tool installieren
$ yum install cpupowerutils
Governors anzeigen
$ cpupower frequency-info --governors
analyzing CPU 0:
ondemand userspace performance
Wir haben also derzeit nur diese 3 Governors geladen:ondemand , Benutzerbereich und Leistung .
Lade Regler, die fehlen
So können Sie sich eine Liste aller verfügbaren Governors anzeigen lassen.
$ 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
bisherige Module bestätigen:
$ 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
bestätigen, welche Regler geladen sind
$ cpupower frequency-info --governors
analyzing CPU 0:
powersave ondemand userspace performance
Anzeigen der aktuellen Richtlinie
$ 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
In der obigen Ausgabe sehen Sie, dass meine aktuelle Richtlinie ondemand ist . Um die Richtlinie und Geschwindigkeit zu optimieren, verwenden Sie dazu diesen Befehl:
$ 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
neuen Gouverneur bestätigen
$ 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
Sie können die minimalen/maximalen CPU-Frequenzen innerhalb einer Richtlinie auch mithilfe von cpupower frequency-set --min <freq> --max <freq>
optimieren . Auf dieser Seite finden Sie weitere Einzelheiten darüber, was Sie mit cpupower frequency-set
tun können .
das obige ohne cpupowerutils machen
Wenn Sie also das cpupowerutils-Paket nicht installiert haben, können Sie damit interagieren, ähnlich wie Sie es in den vorherigen 2.6-Kerneln getan haben. Hauptsächlich echoen Sie Werte in die sysfs
Dateisystem.
zum Beispiel
$ echo 360000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
Für 2.6-Kernel
Auf dieser Seite können Sie sich über die verschiedenen Funktionen von cpufreq informieren.
Auszug aus CPU-Frequenzskalierung in Linux mit cpufreq
ignore_nice_load – Dieser Parameter nimmt einen Wert von „0“ oder „1“ an. Wenn
auf „0“ gesetzt ist (Standardeinstellung), werden alle Prozesse zum Wert „CPU
-Auslastung“ gezählt. Wenn der Wert auf „1“ gesetzt ist, werden die Prozesse, die mit einem
„nice“-Wert ausgeführt werden, in der Berechnung der Gesamtnutzung
nicht gezählt (und daher ignoriert). Dies ist nützlich, wenn Sie eine CPU-intensive
Berechnung auf Ihrem Laptop ausführen, bei der es Ihnen egal ist, wie lange sie
dauert, da Sie sie "schön" machen und verhindern können, dass sie an der
Teilnahme teilnimmt /> Entscheidungsprozess, ob die CPU-Frequenz erhöht werden soll. Gehen Sie wie folgt vor, um
dies einzuschalten.
sudo sh -c "echo 1 > /sys/devices/system/cpu/cpu0/cpufreq/ondemand/ignore_nice_load"
Ich würde eine 0 in diese Datei einfügen, da dies der Standard sein sollte. Wenn Sie einen lang laufenden Niced-Prozess haben, was ich sehr bezweifle, können Sie ihn auf 1 setzen.