Comment rendre les modifications de Powertop permanentes?

75

Je suis sur un Compaq 615 et son ventilateur est fort. Vous ne pouvez pas faire grand chose à ce sujet, mais j'essaie de garder le processeur / GPU aussi cool que possible. Voici ce que Powertop a à dire:

PowerTOP 1.97 - Présentation - Statistiques de veille - Statistiques sur la fréquence - Statistiques de l'appareil - Réglables

Si je les change tous en "bien", les modifications ne survivront pas au redémarrage.

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

Comment rendre permanent le "Tunables" suggéré par Powertop?

H3R3T1K
la source
Vous n'éditez pas le fichier correctement. Vous avez probablement soit foiré le chemin ou oublié que vous devez utiliser sudopour modifier le fichier.
Chan-Ho Suh
1
Juste mes deux cents: après avoir désactivé ce que powertop disait être mauvais pour la vie de la batterie, je me suis retrouvé dans une étape où je ne pouvais brancher aucun périphérique USB car il ne serait pas reconnu. Je devais charger manuellement les modules dans le noyau et ensuite brancher le périphérique. Quitter les options "Contrôleurs USB" est devenu "mauvais" et a fonctionné comme prévu.
Pedro Brito
Commencez par vérifier si chaque option proposée est réellement une source d’économie d’énergie. Remarque n ° 2: les mesures de powertoppeuvent ne pas être précises en raison de réétalonnages internes de la batterie. Source: askubuntu.com/questions/161774/…
Sauvegarde Pro
S'il vous plaît accepter une solution!
Elod

Réponses:

64

Si vous les modifiez tous de toute façon, vous pouvez simplement utiliser la commande

sudo powertop --auto-tune

Appelez automatiquement powertop au démarrage

1.

Sur les systèmes utilisant systemdun gestionnaire de démarrage (comme Ubuntu), installez-le en tant que service:

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

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

[Install]
WantedBy=multi-user.target
EOF

systemctl daemon-reload
systemctl enable powertop.service

2

Sur les systèmes qui n'utilisent pas systemdou si vous souhaitez utiliser l'ancien style avec /etc/rc.localfichier, ajoutez cette ligne à la fin de /etc/rc.local:

powertop --auto-tune
exit 0

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

Si vous souhaitez régler tous les paramètres sur une seule ligne, vous pouvez d’abord régler automatiquement l’appareil, puis en désactiver un avec une ligne supplémentaire. Par exemple, si vous souhaitez réactiver le périphérique à écran tactile (à l’usb 2 à 7), ajoutez ceci avant le exit 0:

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

Remarque: sous Linux avec systemd, assurez-vous que /etc/rc.local est exécuté au démarrage par le service de compatibilité.

systemctl status rc-local.service
rubo77
la source
1
J'ai remarqué que désactiver la connexion WiFi économise encore plus d'énergie. Même avec l'option power_save, la carte Wi-Fi utilise toujours environ 4 W sur mon système si elle est active
rubo77
1
FYI: Pour une raison quelconque, j’ai trouvé que j’avais besoin d’ajouter ces commandes à rc.local sous la forme d’une seule ligne dans le formulaire powertop --auto-tune && echo 'on' > '/sys/bus/usb/devices/5-2/power/control'afin que cela fonctionne parfaitement à chaque session, au démarrage.
Rich.T.
cela devrait être la réponse vérifiée en haut!
Costin Gușă
Ce fut la réponse la plus utile pour moi. Remarque: sur mon système ( Ubuntu 16.04 ), la sortie de la lecture ci-dessus est lue inactive (dead). Rendre rc.localexécutable en exécutant sudo chmod + x /etc/rc.local a permis d'obtenir le résultat souhaité après un redémarrage.
Eldad-a
1
J'ai ajouté l'option systemd en tant que service
rubo77
24

Voici comment vous pouvez rendre les modifications permanentes:

sudo powertop --html

Cela va générer un powertop-xxxxxxxxxx-xxxxxx.htmlfichier.

Maintenant, ouvrez-le dans le navigateur et copiez les echocommandes de "... ayant besoin de réglage" dans /etc/rc.local.

Ou extrayez les commandes en utilisant quelque chose comme ceci:

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

Si rc.localcontient exit 0vous devez vous assurer de mettre les commandes avant cette ligne.

Monte le volume
la source
1
Eliah, je lance Powertop 2.0 que j'ai compilé. J'ai exécuté la commande --html et je ne peux pas trouver où il dépose le fichier ni même s'il est en train de l'écrire. De plus, lorsque Powertop démarre, je reçois ce message: Impossible de charger le fichier /var/cache/powertop/saved_parameters.powertop
Kendor
J'ai essayé cette approche, mais mon fichier powertop (@Kendor - il est enregistré dans le même répertoire que vous étiez) ne contient aucune commande echo (ou autre).
Métakermite
@ kermit666 vous n'aurez "echo" que s'il y a des choses à changer. Par conséquent, si vous avez déjà appliqué les paramètres dans powertop, vous devez d'abord les annuler. peut-être que redémarrer serait plus facile
pumpupthevolume
Eh bien, pourquoi est-ce si compliqué? Si powertop voudrait juste sortir un script si je le veux! Votre solution ignore que le supérieur à> est écrit sous la forme & gt; dans la sortie html ...
Zordid
2
Vous ne pouvez pas juste grep pour 'echo' car certaines des suggestions commencent par 'iw dev ...'
Tom Chiverton
15

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 des dépendances

Installation de 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 souhaitez utiliser ./make .Replace -j2 avec le nombre de cœurs de processeur que vous souhaitez utiliser pour le processus de compilation. par exemple, j'ai utilisé ./make -j8

Powertop est installé, vous pouvez débrancher le courant alternatif et courir

sudo powertop

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

sudo powertop --html=powertop.html

Implémentation de la suggestion Powertop sur batterie et dos pour optimiser les performances sur courant alternatif

Pour cela, vous devez créer un script qui exécute la suggestion powertop sur batterie et optimise les performances en courant alternatif.

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

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

Copier coller ce qui suit 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 attribuer une autorisation d'exécution à Power Script.

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

Désormais, lorsque vous débrancherez , la suggestion de Powertop prendra en charge et maximisera la durée de vie de la batterie. En vous connectant au secteur, vous obtiendrez des performances maximales.

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/

Qasim
la source
1
Au lieu de cela, je vous suggère d'utiliser checkinstall. Il vous permettra également de créer un paquet .deb que vous pourrez désinstaller / mettre à niveau ultérieurement. Vous pouvez l'installer avecsudo apt-get install
GuySoft
bash: ./make: Aucun fichier ou répertoire de ce type - Pourquoi est-ce le cas? pastebin.com/bX3iLygx
Tracy Iquiña Le
@ TracyIquiña désolé sa ... sudo faire pas ./make .....
Qasim
1
@ Qasim J'ai réalisé cette erreur hier (et lis ton commentaire tout à l'heure), alors je l'ai fait makeet sudo checkinstall. Cela a fonctionné comme prévu. Le fichier README nécessite des corrections sur celui-ci.
Tracy Iquiña
@ TracyIquiña thats g8 également s'il vous plaît jeter un oeil à ma réponse askubuntu.com/questions/285434/…
Qasim
9

Ce n'est pas la réponse que vous demandez, mais vous pouvez essayer d'y entrer laptop-mode. Pour faire ça:

ouvrez un terminal et tapez:

gksu gedit /etc/default/acpi-support

entrez le mot de passe puis allez au bas de la page et dans la section où il est question du mode portable, écrivez vrai au lieu de faux, fermez le document et sauvegardez 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 édité le mien. J'ai ajouté # avant la ligne par défaut sur celles 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 mis à 1, ne modifiez que les lignes que j'ai modifiées. Il y a quelques options ici que vous voudrez examiner et basculer à votre guise. Lorsque vous êtes proche et économisez.

Après cela, vous voudrez taper:

gksu gedit

Maintenant, dans l'éditeur de texte, cliquez sur Ouvrir et allez dans le dossier /etc/laptop-mode/conf.d/. Il existe divers fichiers. Vous êtes probablement intéressé par USB autosuspend, audio hda, iwl intel wireless, intel sata et sched mc powersaving. Ouvrez ces fichiers un par un et lisez-les, ils sont écrits dans un anglais standard parfait et expliquent très bien tout. Vous saurez quoi faire, rappelez-vous que 0 correspond à off et 1 à la plupart du temps.

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

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

sudo powertop

et examinez la consommation d'énergie, si vous avez tout fait correctement, powertop n'aura aucune suggestion supplémentaire à faire, car vous avez peaufiné tout ce qu'il y a à peaufiner (plus ou moins).

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

rlemon
la source
Merci. Mais il n'y a aucun moyen de rendre les modifications de Powertop permanentes?
H3R3T1K
J'ai fait une recherche sur le sujet et la meilleure solution que je pouvais trouver (hors site) était d'activer le mode portable. C'est une solution de contournement - si je trouve une meilleure solution, je l'ajouterai également. Espérons que cela peut aider pour le moment.
rlemon
2
Dans le fichier support acpi, il est écrit ceci sur le mode portable: "# # Remarque: pour activer le" mode portable "(pour éteindre votre disque dur plus longtemps), installez le paquet laptop-mode-tools et configurez-le # it dans /etc/laptop-mode/laptop-mode.conf. " J'ai installé le paquet et ouvert le fichier. Je suppose que je suis maintenant en mode ordinateur portable? Il dit que "laptop-mode-tools" est activé. J'ai également apporté l'autre modification que vous avez suggérée (noatime).
H3R3T1K
ohh c'était un exemple pour éditer le fichier. vous voudrez revoir la fonction de chaque option et basculer comme bon vous semble. mode ordinateur portable devrait choisir votre ventilateur bien.
rlemon
6

Utilisez les règles udev pour des économies d’énergie permanentes, configurez les paramètres directement sur la source, au lieu de créer des scripts ou de vous fier aux éventuels packages non installés. Ainsi, dès que le matériel est ajouté, udevvos paramètres sont appliqués.

Une udevrègle correcte rend les paramètres non appliqués lorsque le matériel n'est pas présent, rendant ainsi la configuration plus portable. Et vous en apprendrez plus sur le fonctionnement interne de votre noyau Linux :-). La configuration faite de cette façon, s’applique également lorsque la batterie ne fonctionne pas.

Un exemple pour 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'emplacement du 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 système udev 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

Quelques autres exemples écrivent des règles comme:

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

Je dirais non, et améliorez votre règle en ne l'appliquant que lorsque la stratégie de gestion de l'énergie des liens est définie sur max_performance. Regardez la petite différence (cherchez le signe de 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 le moyen d'appliquer la règle. Dans ce cas, j'ai redémarré pour appliquer la règle udev nouvellement créée.

Sauvegarde Pro
la source
comment puis-je découvrir l'id des propriétés et des valeurs possibles, puisque powertop les affiche comme nom long dans la liste 'Réglables'? merci
Cristiano
3

Avec systemd, c'est facile:

# /etc/systemd/system/powertop-autotune.service
[Unit]
Description=Auto-tune power savings (oneshot)

[Service]
Type=oneshot
ExecStart=/usr/bin/powertop --auto-tune
RemainAfterExit=true

[Install]
WantedBy=multi-user.target

Enregistrez le fichier de l' unité, kill -HUP 1, systemctl enable --now powertop-autotune.service, fait!


PS si vous avez besoin d’exceptions --auto-tune, ajoutez simplement plus de ExecStartlignes pour définir vos propres paramètres.

#...
ExecStart=/usr/bin/powertop --auto-tune
ExecStart=/bin/sh -c "echo on > /sys/bus/usb/devices/2-7/power/control"

#...
Ulidtko
la source
Sur Ubuntu, powertopest dans /usr/sbin, pas /usr/bin.
Rustyx
2

J'ai résolu ce problème en créant un script de tableau de bord /root/power_save.sh:

#!/bin/dash
find /sys/devices/pci* -path "*power/control" -exec bash -c "echo auto > '{}'" \;

Définissez-le comme exécutable:

sudo chmod u+x /root/power_save.sh

Et ajoutez-le à root crontab avec sudo crontab -e:

@reboot /root/power_save.sh
Seppo Erviälä
la source
@ dago Voici comment j'ai implémenté des solutions dans votre réponse.
Seppo Erviälä
Quelques questions, dans l’espoir de me renseigner: d’abord, pourquoi ne pas se lancer, différence? Quel est l'avantage de mettre dans / root / power.sh? CRON est une autre version d'un terminal? Votre solution demande-t-elle un mot de passe?
jeudi
dash est un autre shell utilisé dans Ubuntu pour exécuter tous les scripts de démarrage, car il démarre plus rapidement que bash. Voir wiki.ubuntu.com/DashAsBinSh pour plus d'informations.
Seppo Erviälä
cron est un outil pour créer des tâches chronométrées (par exemple, exécuter ce script toutes les n heures). Il peut également être utilisé pour exécuter des scripts lorsque le système est démarré.
Seppo Erviälä
Cela ne nécessite pas de mot de passe.
Seppo Erviälä
2

Ce lien parle de la même chose parle de la même chose:

https://bbs.archlinux.org/viewtopic.php?pid=860406

Je suis intéressé par la solution par moi-même et j'essaierai plus tard. Dis-moi si tu peux réussir à mettre en œuvre cette solution.

Je ne pouvais pas le faire fonctionner car le système me disait toujours la permission refusée d'exécuter le fichier exécutable.

Cependant, cela semble fonctionner:

http://philatwarrimoo.blogspot.com/2011/06/powertop-howto-enable-device-power.html

J'ai utilisé la commande courte et l'exécute avec sudo.

En tant que solution semi-automatique, j'ai créé un lanceur:

entrez la description de l'image ici

le script est comme suit:

entrez la description de l'image ici

Y a-t-il un moyen d'éviter de demander mon mot de passe?

dago
la source
@dago - la raison pour laquelle l'erreur "permission refusée" est due au fait que vous devez exécuter "chmod + x setauto.sh", c'est-à-dire rendre le script exécutant le filtrage.
fossfreedom
1
@dago - nouez également la solution dans un script et utilisez-la pour que le script s'exécute automatiquement plutôt que manuellement - askubuntu.com/questions/9806/…
fossfreedom
Compris la première remarque. Cependant, la deuxième approche me semble plus facile. J'ai essayé d'exécuter cette commande via launcher en mettant xterm -e à l'avance. Il me demande mon mot de passe mais ne fonctionne pas réellement. Pouvez-vous m'aider? Il aimerait le faire fonctionner manuellement, car je n’en ai besoin que sur batterie.
jeudi
@dago - suggère de créer un fichier de bureau et d'exécuter votre script avec gksudo. En cas de doute, rangez votre réponse avec un copier-coller du code de philatwarrimoo décrivant votre nouveau fichier script et je modifierai votre réponse avec un fichier newfile.desktop suggéré que vous pourrez lancer depuis le lanceur natty
fossfreedom
A fait comme recommandé. La perte du symbole choisi lors de l'ajout de l'icône du lanceur au lanceur.
jeudi
0

Par la réponse de rubo77, je suis en cours d' exécution powertop --auto-tunedans /etc/rc.localpuis annuler une modification par défaut indésirable.

Toutefois, comme le périphérique pour lequel je souhaite désactiver le contrôle automatique de l'alimentation est un périphérique USB externe pouvant potentiellement apparaître avec un /sysnuméro de périphérique différent, j'ai créé un peu plus de script pour l'identifier de manière dynamique:

/usr/local/sbin/powertop --auto-tune

export VENDOR=aaaa
export PRODUCT=bbbb

for d in /sys/bus/usb/devices/*; do
        if [ -f $d/idVendor ] && \
           [ "$(cat $d/idVendor)" == "${VENDOR}" ] && \
           [ -f $d/idProduct ] && \
           [ "$(cat $d/idProduct)" == "${PRODUCT}" ]; then
                echo 'on' > $d/power/control
        fi   
done

exit 0

VENDORet PRODUCTsont définis sur le fournisseur USB et les ID de produit en minuscule hexadécimal.

Ceux-ci sont disponibles chez

  • identifier le périphérique dans la lsusbsortie (les ID y apparaissent dans le formulaire aaaa:bbbb), ou

  • observez la commande exécutée par powertop lorsque vous modifiez le paramètre d'alimentation, accédez au /sys/bus/usb/devices/*répertoire en cours du périphérique et récupérez les valeurs à partir du fichier en cours idProductet des idVendorfichiers.

rakslice
la source
-1

J'ai eu un problème similaire et après avoir lu une question sur ce site, j'ai découvert que le programme "Powertop" est apparemment plus adapté aux développeurs.

Comment installer powertop 1.13?

La version, plus utile, pour les utilisateurs est "powertop-1.13" trouvée dans les référentiels. Il affiche les suggestions d'économie d'énergie ainsi que la commande qu'il utilise pour exécuter la suggestion.

Ce site Red Hat Docs contient des instructions supplémentaires pour rendre ces modifications permanentes.

Plus précisément:

Pour vous aider à rendre les modifications permanentes, PowerTOP affiche la commande exacte à exécuter pour effectuer cette optimisation. Ajoutez la commande à votre /etc/rc.localfichier avec votre éditeur de texte préféré afin qu'elle prenne effet à chaque démarrage de l'ordinateur.

Bonne chance!

Neil
la source