Compaq 615を使用していますが、ファンの音が大きいです。それについてできることはあまりありませんが、CPU/GPUを可能な限りクールに保つようにしています。これは、Powertopが言わなければならないことです。
それらをすべて「良好」に変更すると、変更は再起動後も存続しません。
「grub」ファイルに ここで推奨 として行を追加しました
Powertopが提案する「調整可能パラメータ」を永続的にするにはどうすればよいですか?
とにかくそれらをすべて良いものに変更した場合、単にコマンドを使用することができます
Sudo powertop --auto-tune
スタートアップマネージャーとしてsystemd
(Ubuntuなど)を使用するシステムでは、サービスとしてインストールします。
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
systemd
を使用していないシステム、または/etc/rc.local
ファイルで古いスタイルを使用する場合は、/etc/rc.local
の最後に次の行を追加します。
powertop --auto-tune
exit 0
注:スクリプトに既にexit 0
が含まれている場合、必ずその行の前にすべてのコマンドを配置し、スクリプトを終了させてください
すべてを1行に設定する場合は、最初に自動調整してから、追加の行で1つの設定を無効にすることができます。たとえば、タッチスクリーンデバイスを再度有効にする場合(USB 2〜7)、 exit 0
の前のこれ:
powertop --auto-tune
echo 'on' > '/sys/bus/usb/devices/2-7/power/control'
exit 0
注:systemd
を使用するLinuxでは、互換性サービスによって起動時に/etc/rc.localが実行されることを確認してください
systemctl status rc-local.service
変更を永続的にする方法は次のとおりです。
Sudo powertop --html
これにより、powertop-xxxxxxxxxx-xxxxxx.html
ファイルが生成されます。
それをブラウザで開き、echo
コマンドを「... in need of Tuning」から/etc/rc.local
にコピーします。
または、次のようなものを使用してコマンドを抽出します。
echo "grep 'echo ' powertop-20120805-125538.html | sed 's/.*\(echo.*\);.*/\1/g'"
rc.local
にexit 0
が含まれる場合、この行の前にコマンドを配置する必要があります。
誰も最新バージョンを持っていないので、ダウンロードしてコンパイルする必要があります
ダウンロードpowertop https://01.org/powertop/downloads/2013/powertop-v2.
powertop-2.3.tar.gz <<<Click&Download Me
コンパイルする前に、依存関係をインストールする必要があります
依存関係のインストール(次のコマンドをコピーして貼り付けてください)
Sudo apt-get install libtool autoconf libnl-dev ncurses-dev pciutils-dev build-essential -y
Powertopのインストール
PowerTOPをビルドしてインストールするには、次のコマンドを入力します。
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
./ makeで使用するコアの数に-j2を使用することもできます。Replace-j2コンパイルプロセスに使用するCPUコアの数を指定します。たとえば、私はを使用しました。/make-j8
Powertopがインストールされているので、AC電源を抜いて実行できます
Sudo powertop
ただし、ほとんどの設定は保存されず、再起動後に失われます。ただし、PowerTOP htmlレポートで提供されるコマンドを使用して、それらを永続的にすることができます。 HTMLレポートを生成するには、次のコマンドを実行します。 webupd8.org
Sudo powertop --html=powertop.html
バッテリーのPowertop提案を実装し、AC電源のパフォーマンスを最大化するために戻る
そのためには、バッテリーでpowertopの提案を実行し、AC電源でパフォーマンスを最大化するスクリプトを作成する必要があります
/etc/pm/power.d/に配置し、実行権限を付与します
Sudo gedit /etc/pm/power.d/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
次に、powerスクリプトの実行許可を割り当てる必要があります
Sudo chmod +x /etc/pm/power.d/power
これで、Unpluggedのとき、Powertopの提案が引き継がれ、バッテリー寿命が最大になり、Plugged inAC powerMax Performanceになります。
役立つリンク
http://ubuntuforums.org/showthread.php?t=1855126&page=http://www.webupd8.org/2012/08/install-powertop-21-in- ubuntu-1204.html
-jオプションの場合 http://dnscrypt.org/
求めている答えではありませんが、laptop-mode
で実行してみてください。これをする:
ターミナルを開き、次を入力します。
gksu gedit /etc/default/acpi-support
パスワードを入力して、一番下に移動し、ラップトップモードについて説明しているセクションで、falseではなくtrueを書き込み、ドキュメントを閉じて、もちろん保存します
次に入力してください:
gksu gedit /etc/laptop-mode/laptop-mode.conf
このファイルはもう少し長くなりますが、ここに私の編集方法を示します。次のように、変更した行のデフォルト行の前に#を追加しました。
# # Should laptop mode tools add the "noatime" option to the mount options when # laptop mode is enabled? # #CONTROL_NOATIME=0 CONTROL_NOATIME=1
デフォルトは0でしたが、1に変更し、変更した行のみを変更しました。ここにはいくつかのオプションがあり、必要に応じて確認して切り替えます。閉じて保存したら。
これが完了したら、次のように入力します。
gksu gedit
現在、テキストエディターで[開く]をクリックして/etc/laptop-mode/conf.d/フォルダーに移動します。さまざまなファイルがあります。USB自動サスペンド、hdaオーディオ、iwl intelワイヤレス、intel sataおよびsched mc省電力に興味があります。これらのファイルを1つずつ開いて読んでください。完全な標準英語で書かれており、すべてを非常によく説明しています。ほとんどの場合、0はオフを表し、1はオンを表すことに注意してください。
終了したら、各ファイルを保存します。
次に、再起動して、動作中のラップトップモードを鑑賞します。
Sudo powertop
消費電力を調べます。すべてを正しく行った場合、Tweakのすべてを微調整した(多かれ少なかれ)ため、powertopは追加の提案を行いません。
ソース: http://ubuntuforums.org/showthread.php?t=1157408&p=7271995#post7271995 (by Axx8 )
永続的な省電力のためにudevルールを使用して、スクリプトを作成したり、インストールされていない可能性のあるパッケージに依存する代わりに、ソースで設定を直接構成します。したがって、udev
によってハードウェアが追加されるとすぐに、設定が適用されます。
正しいudev
ルールにより、ハードウェアが存在しない場合に設定が適用されないため、構成の移植性が高まります。そして、あなたはあなたのLinuxカーネルの内部の仕組みについてもっと学びます:-)。この方法で行われた構成は、バッテリーで実行されていない場合にも適用されます。
調整可能なEnable SATA link power Managmenet for Host0
の例。提案は次のとおりです。
# echo 'min_power' > '/sys/class/scsi_Host/host0/link_power_management_policy'`
これにより、/ sys/class/scsi_Host内のハードウェアの場所がすでにわかります。これを確認するには:
# 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"
/lib/udev/rules.d/にあるシステムudevルールに触れず、/ etc/udev/rules.d /にレベル60の独自のudevルールファイルを作成する方が良いでしょう。たとえば、nanoエディターの場合:
$ nano /etc/udev/rules.d/60-power.rules
他のいくつかの例では、次のようなルールを記述します。
KERNEL=="Host[0-5]", SUBSYSTEM=="scsi_Host", ATTR{link_power_management_policy}="min_power"
しないと言って、リンク電力管理ポリシーがmax_performanceに設定されている場合にのみ適用することで、ルールをさらに改善します。小さな違いを見てください(二重方程式記号を探してください):
KERNEL=="Host[0-5]", SUBSYSTEM=="scsi_Host", ATTR{link_power_management_policy}=="max_performance", ATTR{link_power_management_policy}="min_power"
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
ルールを適用する方法が見つからないため、この場合は、新しく作成されたudevルールを適用するために再起動しました。
systemdで簡単になります:
# /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
ユニットファイルkill -HUP 1
、systemctl enable --now powertop-autotune.service
を保存しました!
P.S。--auto-tune
の動作に例外が必要な場合は、ExecStart
行を追加して独自の設定を設定します。
#...
ExecStart=/usr/bin/powertop --auto-tune
ExecStart=/bin/sh -c "echo on > /sys/bus/usb/devices/2-7/power/control"
#...
このリンクは同じことについて話しているが、同じ問題について話している:
https://bbs.archlinux.org/viewtopic.php?pid=860406
私は自分で解決策に興味があり、後で試してみます。このソリューションを実装できるかどうか教えてください。
システムが常に実行可能ファイルを実行する許可を拒否するように私に言ったので、それを実行させることができませんでした。
しかし、これはうまくいくようです:
http://philatwarrimoo.blogspot.com/2011/06/powertop-howto-enable-device-power.html
短いコマンドを使用して、Sudoで実行しました。
半自動ソリューションとして、ランチャーを作成しました:
スクリプトは次のとおりです。
パスワードの入力を防ぐ方法はありますか?
ダッシュスクリプト/root/power_save.sh
を作成して、これを解決しました。
#!/bin/dash
find /sys/devices/pci* -path "*power/control" -exec bash -c "echo auto > '{}'" \;
実行可能ファイルとして設定します。
Sudo chmod u+x /root/power_save.sh
そして、Sudo crontab -e
でルートcrontabに追加します:
@reboot /root/power_save.sh
Rubo77の答えによれば、powertop --auto-tune
で/etc/rc.local
を実行してから、不要なデフォルトの変更を取り消しています。
ただし、自動電源制御を無効にするデバイスは、異なる/sys
ツリーデバイス番号で表示される可能性のある外部USBデバイスなので、動的に識別するためにもう少しスクリプトを作成しました。
/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
ここで、VENDOR
およびPRODUCT
は、USBベンダーおよび製品IDに小文字の16進数で設定されます。
これらは
lsusb
出力でデバイスを識別する(IDはaaaa:bbbb
の形式で表示されます)、または
電源設定を切り替えるときにpowertopが実行するコマンドを観察し、デバイスの現在の/sys/bus/usb/devices/*
ディレクトリに移動し、現在のidProduct
およびidVendor
ファイルから値を取得します。