J'ai changé mon gouverneur de CPU CentOS 6 de ondemand (celui par défaut) à conservateur et j'ai obtenu ceci après avoir redémarré le service cpufreq :
/etc/rc5.d/S13cpuspeed :ligne 88 :
/sys/devices/system/cpu/cpufreq/conservative/ignore_nice_load :le fichier ou
le répertoire n'existe pas
Donc qu'est ce que je devrais faire? Dois-je créer le fichier et si oui, que dois-je y mettre ?
Réponse acceptée :
Pour les noyaux 3.x
L'interface avec CPUFreq a changé dans les nouveaux noyaux. Cela inclurait CentOS 6. Vous pouvez en savoir plus sur l'intégralité de l'interface ici dans la documentation de Red Hat Enterprise Linux (RHEL) intitulée :Chapitre 3. Infrastructure et mécanismes de base.
Plus précisément, la section sur la configuration de CPUFreq. Voici les étapes nécessaires pour le configurer.
Pilotes 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
charger le pilote approprié
$ modprobe acpi-cpufreq
installer l'outil cpupower
$ yum install cpupowerutils
afficher les gouverneurs
$ cpupower frequency-info --governors
analyzing CPU 0:
ondemand userspace performance
Nous n'avons donc actuellement que ces 3 gouverneurs chargés :à la demande , espace utilisateur , et performances .
charger les gouverneurs manquants
Vous pouvez ainsi obtenir une liste de tous les gouverneurs disponibles.
$ 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
confirmez les modules jusqu'à présent :
$ 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
confirmer quels gouverneurs sont chargés
$ cpupower frequency-info --governors
analyzing CPU 0:
powersave ondemand userspace performance
afficher la politique actuelle
$ 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
Dans la sortie ci-dessus, vous pouvez voir que ma politique actuelle est à la demande . Pour ajuster la politique et la vitesse, utilisez cette commande :
$ 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
confirmer le nouveau gouverneur
$ 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
Vous pouvez également ajuster les fréquences CPU min/max au sein d'une politique en utilisant le cpupower frequency-set --min <freq> --max <freq>
. Consultez cette page pour plus de détails sur ce que vous pouvez faire avec cpupower frequency-set
.
faire ce qui précède sans cpupowerutils
Donc, enfin, si vous n'avez pas installé le package cpupowerutils, vous pouvez interagir avec lui de la même manière que vous le faisiez dans les noyaux 2.6 précédents. Vous répercutez principalement les valeurs dans le sysfs
système de fichiers.
par exemple
$ echo 360000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
Pour les noyaux 2.6
Vous pouvez en savoir plus sur les différentes fonctionnalités de cpufreq sur ce site.
extrait de la mise à l'échelle de la fréquence du processeur sous Linux avec cpufreq
ignore_nice_load - Ce paramètre prend une valeur de '0' ou '1'. Lorsque
est défini sur "0" (valeur par défaut), tous les processus sont comptés dans la valeur d'"utilisation du processeur
". Lorsqu'il est défini sur "1", les processus qui sont exécutés avec une valeur
"nice" ne compteront pas (et seront donc ignorés) dans le calcul de l'utilisation globale
. Ceci est utile si vous exécutez un calcul
gourmand en CPU sur votre ordinateur portable et que vous ne vous souciez pas du temps qu'il faut
pour terminer, car vous pouvez le "gentiller" et l'empêcher de participer au
/> processus de décision d'augmenter ou non la fréquence de votre CPU. Pour activer
ceci, procédez comme suit.
sudo sh -c "echo 1 > /sys/devices/system/cpu/cpu0/cpufreq/ondemand/ignore_nice_load"
Je mettrais un 0 dans ce fichier car cela devrait être la valeur par défaut. Si vous avez un processus niced de longue durée, ce dont je doute fortement, vous pouvez le définir sur 1.