it-swarm.dev

Jak provedu trvalé změny v Powertopu?

Jsem na Compaq 615 a je to hlasitý fanoušek. S tím se moc nedá, ale snažím se udržet CPU/GPU co nejchladnější. To je to, co říká Powertop:

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

Pokud všechny změním na „dobré“, změny nepřežijí restart.

Řádek jsem přidal do souboru "grub" jako zde navrženo

Jak zajistím, aby Powertop navrhl „Tunables“ jako trvalé?

81
H3R3T1K

Pokud přesto všechny změníte na dobré, můžete jednoduše použít příkaz

Sudo powertop --auto-tune

Volejte automatické ladění powertopu při spuštění

1.

V systémech používajících jako správce spouštění systemd (jako Ubuntu) jej nainstalujte jako službu:

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.

V systémech, které nepoužívají systemd, nebo pokud chcete použít starý styl s /etc/rc.local, přidejte tento řádek na konec do /etc/rc.local:

powertop --auto-tune
exit 0

Poznámka:, pokud skript již obsahuje exit 0 Ujistěte se, že umístíte všechny příkazy před tento řádek, protože opouští skript

Pokud chcete nastavit vše na dobrý, ale jeden řádek, můžete nejprve auto-naladit a pak deaktivovat jedno nastavení pomocí dalšího řádku, například, pokud chcete dotykové zařízení znovu aktivovat (na usb 2-7), přidejte to před exit 0:

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

Poznámka: v systému Linux s aplikací systemd se ujistěte, že je /etc/rc.local spuštěn při spuštění službou kompatibility

systemctl status rc-local.service
69
rubo77

Takto můžete provést trvalé změny:

Sudo powertop --html

To vygeneruje powertop-xxxxxxxxxx-xxxxxx.html soubor.

Nyní to buď otevřete v prohlížeči a zkopírujte příkazy echo z „... potřebují Tuning“ do /etc/rc.local.

Nebo extrahujte příkazy pomocí něčeho podobného:

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

Pokud rc.local obsahuje exit 0 musíte zajistit, aby příkazy byly umístěny před tento řádek.

24
pumpupthevolume

Musíte ji stáhnout a kompilovat, protože nikdo nemá nejnovější verzi

Stáhnout powertop https://01.org/powertop/downloads/2013/powertop-v2.

powertop-2.3.tar.gz <<<Click & Download Me

Před kompilací musíte nainstalovat závislosti

Instalace závislostí (Stačí zkopírovat vložit následující příkazy)

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

Instalace Powertop

Chcete-li vytvořit a nainstalovat PowerTOP, zadejte následující příkazy,

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

Můžete také použít j2, kolik jader chcete použít v ./Make. Nahraďte j2 libovolný počet jader CPU, které chcete použít pro kompilační proces. například jsem použil ./make -j8

Powertop je nainstalován, můžete odpojit napájení střídavým proudem a můžete jej spustit

Sudo powertop

Většina nastavení se však neuloží a po restartu se ztratí. Můžete je však učinit trvalými pomocí příkazů uvedených v sestavě html PowerTOP. Chcete-li vygenerovat sestavu HTML, spusťte následující příkaz: webupd8.org

Sudo powertop --html=powertop.html

Implementace návrhu Powertop na baterii a zpět pro maximalizaci výkonu při napájení ze střídavého proudu

K tomu je třeba vytvořit skript, který spouští návrh powertop na baterii a maximalizuje výkon při střídavém napájení

Umístěte jej do /etc/pm/power.d/ a udělte prováděcí práva

Sudo gedit /etc/pm/power.d/power

Zkopírujte do power souboru následující text

 #!/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

Nyní musíte přiřadit oprávnění ke spuštění skriptu power

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

Nyní, když Unplugged, návrh na Powertopu převezme a maximalizuje životnost baterie a pokud jste připojeni AC power, budete mít maximální výkon.

Užitečné odkazy

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

Pro volbu -j http://dnscrypt.org/

15
Qasim

Není to odpověď, kterou požadujete, ale můžete zkusit spustit v laptop-mode. Udělat toto:

otevřít terminál a typ:

gksu gedit /etc/default/acpi-support

zadejte heslo a poté přejděte do dolní části a v části, kde se mluví o notebooku, napište true místo falešného, ​​zavřeného dokumentu a samozřejmě uložte

Poté zadejte:

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

tento soubor je o něco delší, ale tady jsem upravil svůj. Přidal jsem # před výchozí řádek na řádek, který jsem upravil, například:

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

výchozí hodnota byla 0 a otočil jsem ji na 1, upravuji pouze řádky, které jsem upravil. Je zde několik možností, které chcete zkontrolovat a přepnout, jak uznáte za vhodné. Když jste blízko a uložte.

Po dokončení budete chtít napsat:

gksu gedit

nyní v textovém editoru klikněte na Otevřít a přejděte do složky /etc/laptop-mode/conf.d/, existují různé soubory, pravděpodobně vás zajímá autosuspendování usb, hda audio, iwl intel bezdrátové, intel sata a schedule mc úspora energie. Otevřete tyto soubory jeden po druhém a přečtěte si je, jsou psány v perfektní standardní angličtině a vše velmi dobře vysvětlete. Budete vědět, co dělat, nezapomeňte, že 0 znamená většinu času 1 a 1.

Až budete hotovi, zavřete a uložte každý soubor.

Nyní restartujte a obdivujte režim notebooku v akci:

Sudo powertop

a prozkoumejte spotřebu energie, pokud jste udělali vše správně, powertop nebude mít žádný další návrh, který by vám dal, protože jste vylepšili vše, co je na Tweak (víceméně).

Zdroj: http://ubuntuforums.org/showthread.php?t=1157408&p=7271995#post7271995 (o Axx8 )

9
rlemon

Použijte pravidla udev pro trvalé úspory energie a nakonfigurujte nastavení přímo u zdroje, místo vytváření skriptů nebo spoléhání na možné neinstalované balíčky. Jakmile se tedy hardware přidá do udev, vaše nastavení se použije.

Správné pravidlo udev způsobí, že nastavení nebude použito, když tam nebude hardware, čímž bude konfigurace přenosnější. A dozvíte se více o vnitřním fungování vašeho linuxového jádra :-). Takto provedená konfigurace platí i tehdy, když není napájen z baterie.

Příklad pro laditelné Enable SATA link power Managmenet for Host0. Navrhuje se:

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

To vám již dává představu, kde je hardware: in/sys/class/scsi_Host. Můžete to ověřit pomocí:

# 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"

Raději se nedotýkejte systémových udev pravidel v /lib/udev/rules.d/ a vytvořte si vlastní soubor pravidel udev zhruba na úrovni 60 v /etc/udev/rules.d/. Například s editorem nano:

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

Některé další příklady psát pravidla jako:

KERNEL=="Host[0-5]", SUBSYSTEM=="scsi_Host", ATTR{link_power_management_policy}="min_power"

Řekl bych, že to neuděláte a vaše pravidlo ještě vylepšíme tím, že ho uplatníme pouze tehdy, když je zásada správy napájení odkazu nastavena na max_performance. Podívejte se na malý rozdíl (podívejte se na znaménko dvojité rovnice):

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

Vyzkoušejte pravidlo s 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

Nemohu najít způsob, jak aplikovat pravidlo, takže v tomto případě jsem provedl restart, abych aplikoval nově vytvořené pravidlo udev.

6
Pro Backup

systemd usnadňuje:

# /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

Uložte soubor jednotky, kill -HUP 1, systemctl enable --now powertop-autotune.service, Hotovo!


P.S., pokud potřebujete nějaké výjimky z toho, co --auto-tune dělá, stačí přidat další řádky ExecStart a nastavit si vlastní nastavení.

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

#...
5
ulidtko

Tento odkaz hovoří o stejném problému a mluví o stejném problému:

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

Zajímám se o řešení sám a zkusím to později. Řekněte mi, jestli se vám podaří toto řešení implementovat.

Nemohl jsem to nechat běžet, protože mi systém vždy říkal povolení odepřeno ke spuštění spustitelného souboru.

Zdá se však, že to funguje:

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

Použil jsem krátký příkaz a spustil jsem ho se Sudem.

Jako poloautomatické řešení jsem vytvořil launcher:

enter image description here

skript je následující:

enter image description here

Existuje způsob, jak zabránit požadavku na mé heslo?

2
dago

Vyřešil jsem to vytvořením pomlčkového skriptu /root/power_save.sh:

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

Nastavit jako spustitelný soubor:

Sudo chmod u+x /root/power_save.sh

A přidejte jej do kořenového crontabu pomocí Sudo crontab -e:

@reboot /root/power_save.sh
2
Seppo Erviälä

Na odpověď rubo77 jsem spuštěn powertop --auto-tune V /etc/rc.local A poté zrušuji nežádoucí výchozí změnu.

Protože však zařízení, pro které chci zakázat automatické řízení napájení, je externí zařízení USB, které by se mohlo potenciálně objevit s jiným číslem stromu stromu /sys, Udělal jsem pro dynamickou identifikaci trochu více skriptů:

/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

kde VENDOR a PRODUCT jsou nastaveny na dodavatele USB a ID produktu v hexu s malými písmeny.

Ty jsou k dispozici od

  • identifikace zařízení ve výstupu lsusb (ID se zde objevují ve tvaru aaaa:bbbb) nebo

  • pozorování příkazu, který se spustí powertop, když přepnete nastavení napájení, přejdete do aktuálního adresáře /sys/bus/usb/devices/* zařízení a načte hodnoty z aktuálních souborů idProduct a idVendor.

0
rakslice