85 votes

Comment puis-je rendre permanentes les modifications apportées à Powertop ?

Je suis sur un Compaq 615 et son ventilateur est bruyant. Il n'y a pas grand-chose que l'on puisse faire à ce sujet, mais j'essaie de garder le CPU/GPU aussi frais que possible. Voici ce que Powertop a à dire :

PowerTOP 1.97 - Overview - Idle stats - Frequency stats - Device stats - Tunables

Si je les change tous en "bon", les changements ne survivent pas à un redémarrage.

J'ai ajouté la ligne au fichier "Grub" comme suit suggéré ici

Comment faire pour que les "Tunables" suggérés par Powertop soient permanents ?

75voto

jrishaw Points 71

Si vous les changez tous en bons de toute façon, vous pouvez simplement utiliser la commande

sudo powertop --auto-tune

Appeler l'auto-tune de powertop automatiquement au moment du démarrage

1.

Sur les systèmes utilisant systemd comme gestionnaire de démarrage (comme Ubuntu) l'installer comme un service :

cat << EOF | sudo tee /etc/systemd/system/powertop.service
[Unit]
Description=PowerTOP auto tune

[Service]
Type=oneshot
Environment="TERM=dumb"
RemainAfterExit=true
ExecStart=/usr/sbin/powertop --auto-tune

[Install]
WantedBy=multi-user.target
EOF

systemctl daemon-reload
systemctl enable powertop.service

2.

Sur les systèmes n'utilisant pas systemd ou si vous voulez utiliser l'ancien style avec /etc/rc.local ajoutez cette ligne à la fin du fichier /etc/rc.local :

powertop --auto-tune
exit 0

Note : si le script contient déjà exit 0 assurez-vous de placer toutes les commandes avant cette ligne, car cela quitte le script.

Si vous voulez que tout soit bon sauf une ligne, vous pouvez d'abord faire un réglage automatique et ensuite désactiver un paramètre avec une ligne supplémentaire, par exemple, si vous voulez réactiver l'écran tactile (à usb 2-7), ajoutez ceci avant la ligne exit 0 :

powertop --auto-tune
echo 'on' > '/sys/bus/usb/devices/2-7/power/control'
exit 0

Note : sous Linux avec systemd pour s'assurer que /etc/rc.local est exécuté au démarrage par le service de compatibilité.

systemctl status rc-local.service

24voto

Tyler Pfaff Points 113

Voici comment vous pouvez rendre ces changements permanents :

sudo powertop --html

Cela générera un powertop-xxxxxxxxxx-xxxxxx.html fichier.

Maintenant, soit vous l'ouvrez dans le navigateur et copiez l'adresse echo de "... qui a besoin d'être réglé" à /etc/rc.local .

Ou extraire les commandes en utilisant quelque chose comme ceci :

echo "grep 'echo ' powertop-20120805-125538.html | sed 's/.*\(echo.*\);.*/\1/g'"

Si rc.local contient exit 0 vous devez vous assurer de placer les commandes avant cette ligne.

15voto

Qasim Points 21792

Vous devez le télécharger et le compiler car personne n'a la dernière version.

Télécharger powertop https://01.org/powertop/downloads/2013/powertop-v2.3

powertop-2.3.tar.gz < < < Cliquez et téléchargez-moi

Avant de compiler, vous devez installer les dépendances

Installation des dépendances (Il suffit de copier-coller les commandes suivantes)

sudo apt-get install libtool autoconf libnl-dev ncurses-dev pciutils-dev build-essential -y

Installation de Powertop

Pour construire et installer PowerTOP, tapez les commandes suivantes,

cd Downloads/powertop*  # assuming that you have downloaded in Downloads folder in you home directory   
configure 
make        # use -j option if you want to see details below
make install

Vous pouvez également utiliser -j2 pour le nombre de cœurs que vous voulez utiliser dans ./make .remplacer -j2 avec le nombre de cœurs de processeur que vous voulez utiliser pour le processus de compilation. par exemple j'ai utilisé ./make -j8

Une fois le Powertop installé, vous pouvez débrancher le courant alternatif et faire fonctionner le système.

sudo powertop

Cependant, la plupart des paramètres ne sont pas enregistrés et sont perdus après un redémarrage. Vous pouvez, cependant, les rendre permanents, en utilisant les commandes fournies dans le rapport PowerTOP html. Pour générer un rapport HTML, exécutez la commande suivante : webupd8.org

sudo powertop --html=powertop.html

Mise en œuvre de la suggestion de Powertop sur la batterie et le dos pour maximiser les performances sur l'alimentation CA

Pour cela, vous devez faire un script qui exécute la suggestion de powertop sur la batterie et maximise les performances sur le courant alternatif.

Placez-le dans /etc/pm/power.d/ et donnez des droits d'exécution

sudo gedit /etc/pm/power.d/power

Copiez-collez les éléments suivants dans le fichier Power

 #!/bin/sh

 # Shell script to reduce energy consumption when running battery. Place
 # it in /etc/pm/power.d/ and give execution rights.

 if on_ac_power; then

 # Start AC powered settings --------------------------------------------#

 # Disable laptop mode
 echo 0 > /proc/sys/vm/laptop_mode

 #NMI watchdog should be turned on
 for foo in /proc/sys/kernel/nmi_watchdog;
 do echo 1 > $foo;
 done

 # Set SATA channel: max performance
 for foo in /sys/class/scsi_host/host*/link_power_management_policy;
 do echo max_performance > $foo;
 done

 # CPU Governor: Performance
 for foo in /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor;
 do echo performance > $foo;
 done 

 # Disable USB autosuspend
 for foo in /sys/bus/usb/devices/*/power/level;
 do echo on > $foo;
 done

 # Disable PCI autosuspend
 for foo in /sys/bus/pci/devices/*/power/control;
 do echo on > $foo;
 done

 # Disabile audio_card power saving
 echo 0 > /sys/module/snd_hda_intel/parameters/power_save_controller
 echo 0 > /sys/module/snd_hda_intel/parameters/power_save

 # End AC powered settings ----------------------------------------------#

 else

 # Start battery powered settings ---------------------------------------#

 # Enable Laptop-Mode disk writing
 echo 5 > /proc/sys/vm/laptop_mode

 #NMI watchdog should be turned on
 for foo in /proc/sys/kernel/nmi_watchdog;
 do echo 0 > $foo;
 done

 # Set SATA channel to power saving
 for foo in /sys/class/scsi_host/host*/link_power_management_policy;
 do echo min_power > $foo;
 done

 # Select Ondemand CPU Governor
 for foo in /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor;
 do echo ondemand > $foo;
 done

 # Activate USB autosuspend
 for foo in /sys/bus/usb/devices/*/power/level;
 do echo auto > $foo;
 done

 # Activate PCI autosuspend
 for foo in /sys/bus/pci/devices/*/power/control;
 do echo auto > $foo;
 done

 # Activate audio card power saving
 # (sounds shorter than 5 seconds will not be played)
 echo 5 > /sys/module/snd_hda_intel/parameters/power_save
 echo 1 > /sys/module/snd_hda_intel/parameters/power_save_controller

 # End battery powered settings -----------------------------------------#

 fi

Maintenant vous devez assigner la permission d'exécution de puissance script

 sudo chmod +x /etc/pm/power.d/power

Maintenant, quand vous Unplugged la suggestion de Powertop prendra le relais et maximisera la durée de vie de la batterie& vous êtes branché. Alimentation AC vous aurez une performance maximale.

Liens utiles

http://ubuntuforums.org/showthread.php?t=1855126&page=3 http://www.webupd8.org/2012/08/install-powertop-21-in-ubuntu-1204.html

Pour l'option -j http://dnscrypt.org/

9voto

rlemon Points 1811

Ce n'est pas la réponse que vous demandez, mais vous pouvez essayer d'exécuter en laptop-mode . Pour ce faire :

ouvrez un terminal et tapez :

gksu gedit /etc/default/acpi-support

Entrez le mot de passe et ensuite allez en bas et dans la section où il parle de laptop-mode, écrivez true au lieu de false, fermez le document. et sauvegarder bien sûr

Puis entrez :

gksu gedit /etc/laptop-mode/laptop-mode.conf

ce fichier est un peu plus long, mais voici comment j'ai modifié le mien. J'ai ajouté # avant la ligne par défaut sur les lignes que j'ai modifiées, comme ceci :

#
# Should laptop mode tools add the "noatime" option to the mount options when 
# laptop mode is enabled?
#
#CONTROL_NOATIME=0
CONTROL_NOATIME=1

la valeur par défaut était 0 et je l'ai mise à 1, modifiez seulement les lignes que je modifiées. Il y a quelques options ici que vous voudrez revoir et basculer comme bon vous semble. Quand vous aurez fermé et sauvegardé.

Une fois que c'est fait, vous devez taper :

gksu gedit

maintenant dans l'éditeur de texte cliquez sur ouvrir et allez dans le dossier /etc/laptop-mode/conf.d/ il y a plusieurs fichiers, vous êtes probablement intéressé par usb autosuspend, hda audio, iwl intel wireless, intel sata et sched mc. économie d'énergie. Ouvrez ces fichiers un par un et lisez-les, ils sont Ils sont écrits dans un anglais standard parfait et expliquent tout très bien. très bien. Vous saurez ce qu'il faut faire, rappelez-vous que 0 signifie éteint et 1 pour "on" la plupart du temps.

Lorsque vous avez terminé, fermez et enregistrez chaque fichier.

Maintenant, redémarrez et admirez le mode portable en action, alors :

sudo powertop

et examiner la consommation d'énergie, si vous avez tout fait correctement powertop n'aura aucune suggestion supplémentaire à faire parce que vous avez car vous avez réglé tout ce qu'il y avait à régler (plus ou moins).

Source : http://ubuntuforums.org/showthread.php?t=1157408&p=7271995#post7271995 (par Axx83 )

8voto

Pro Backup Points 3090

Règles de l'Udev

Pour une économie d'énergie permanente qui configure les paramètres directement à la source, au lieu de créer des scripts ou de s'appuyer sur d'éventuels paquets non installés. Ainsi dès que au fur et à mesure que du matériel est ajouté por udev votre les paramètres sont appliqués .

A correct udev Cette règle fait en sorte que les paramètres ne s'appliquent pas lorsque le matériel n'est pas présent, ce qui rend la configuration plus portable. Et vous en apprenez plus sur le fonctionnement interne de votre noyau Linux :-). La configuration faite de cette façon, s'applique également lorsque le système ne fonctionne pas sur batterie.

Un exemple pour l'accordable Enable SATA link power Managmenet for host0 . La suggestion est de :

# echo 'min_power' > '/sys/class/scsi_host/host0/link_power_management_policy'`

Cela vous donne déjà une idée de l'endroit où se trouve le matériel : dans /sys/class/scsi_host. Vous pouvez le vérifier avec :

# udevadm info -a -p /sys/class/scsi_host/host?
…
  looking at device '/devices/pci0000:00/0000:00:1f.2/ata1/host0/scsi_host/host0':
    KERNEL=="host0"
    SUBSYSTEM=="scsi_host"
…
    ATTR{eh_deadline}=="0"
    ATTR{link_power_management_policy}=="max_performance"
    ATTR{host_busy}=="0"

Mieux vaut ne pas toucher aux règles udev du système dans /lib/udev/rules.d/ et créer votre propre fichier de règles udev à peu près au niveau 60 dans /etc/udev/rules.d/. Par exemple avec l'éditeur nano :

$ nano /etc/udev/rules.d/60-power.rules

D'autres exemples écrivent des règles comme :

KERNEL=="host[0-5]", SUBSYSTEM=="scsi_host", ATTR{link_power_management_policy}="min_power"

Je dirais de ne pas le faire et de rendre votre règle encore meilleure en ne l'appliquant que lorsque la politique de gestion de l'énergie des liens est définie sur max_performance. Regardez la petite différence (cherchez le signe de la double équation) :

KERNEL=="host[0-5]", SUBSYSTEM=="scsi_host", ATTR{link_power_management_policy}=="max_performance", ATTR{link_power_management_policy}="min_power"

Testez votre règle avec udevadm test /devices/… :

# udevadm test /devices/pci0000:00/0000:00:1f.2/ata1/host0/scsi_host/host0/link_power_management_policy
calling: test
version 204
This program is for debugging only, it does not run any program
specified by a RUN key. It may show incorrect results, because
some values may be different, or not available at a simulation run.

=== trie on-disk ===
tool version:          204
file size:         5660180 bytes
header size             80 bytes
strings            1265196 bytes
nodes              4394904 bytes
load module index
read rules file: /lib/udev/rules.d/40-crda.rules
read rules file: /lib/udev/rules.d/40-gnupg.rules
read rules file: /lib/udev/rules.d/40-hyperv-hotadd.rules
read rules file: /lib/udev/rules.d/42-usb-hid-pm.rules
read rules file: /lib/udev/rules.d/50-firmware.rules
read rules file: /lib/udev/rules.d/50-udev-default.rules
read rules file: /lib/udev/rules.d/55-dm.rules
read rules file: /lib/udev/rules.d/60-cdrom_id.rules
read rules file: /lib/udev/rules.d/60-keyboard.rules
read rules file: /lib/udev/rules.d/60-persistent-alsa.rules
read rules file: /lib/udev/rules.d/60-persistent-input.rules
read rules file: /lib/udev/rules.d/60-persistent-serial.rules
read rules file: /lib/udev/rules.d/60-persistent-storage-dm.rules
read rules file: /lib/udev/rules.d/60-persistent-storage-tape.rules
read rules file: /lib/udev/rules.d/60-persistent-storage.rules
read rules file: /lib/udev/rules.d/60-persistent-v4l.rules
read rules file: /etc/udev/rules.d/60-power.rules
read rules file: /lib/udev/rules.d/61-accelerometer.rules
read rules file: /lib/udev/rules.d/64-btrfs.rules
read rules file: /etc/udev/rules.d/70-persistent-net.rules
read rules file: /lib/udev/rules.d/70-power-switch.rules
read rules file: /lib/udev/rules.d/70-uaccess.rules
read rules file: /lib/udev/rules.d/71-biosdevname.rules
read rules file: /lib/udev/rules.d/71-seat.rules
read rules file: /lib/udev/rules.d/73-idrac.rules
read rules file: /lib/udev/rules.d/73-seat-late.rules
read rules file: /lib/udev/rules.d/75-net-description.rules
read rules file: /lib/udev/rules.d/75-persistent-net-generator.rules
read rules file: /lib/udev/rules.d/75-probe_mtd.rules
read rules file: /lib/udev/rules.d/75-tty-description.rules
read rules file: /lib/udev/rules.d/78-graphics-card.rules
read rules file: /lib/udev/rules.d/78-sound-card.rules
read rules file: /lib/udev/rules.d/80-drivers.rules
read rules file: /lib/udev/rules.d/85-hdparm.rules
read rules file: /lib/udev/rules.d/85-keyboard-configuration.rules
read rules file: /lib/udev/rules.d/85-regulatory.rules
read rules file: /lib/udev/rules.d/95-udev-late.rules
rules contain 24576 bytes tokens (2048 * 12 bytes), 11335 bytes strings
1814 strings (22027 bytes), 1179 de-duplicated (11328 bytes), 636 trie nodes used
ATTR '/sys/devices/pci0000:00/0000:00:1f.2/ata1/host0/scsi_host/host0/link_power_management_policy' writing 'min_power' /etc/udev/rules.d/60-power.rules:1
ACTION=add
DEVPATH=/devices/pci0000:00/0000:00:1f.2/ata1/host0/scsi_host/host0
SUBSYSTEM=scsi_host
USEC_INITIALIZED=1203444595
unload module index

Je ne trouve pas de moyen d'appliquer la règle, donc dans ce cas j'ai fait un redémarrage pour appliquer la règle udev nouvellement créée.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X