寫(xiě)在前面
- 整理一些Linux用電功耗調(diào)優(yōu)的筆記,分享給小伙伴,關(guān)于用電調(diào)優(yōu)個(gè)人覺(jué)得:
- 最好使用powertop這樣的專業(yè)工具來(lái)搞
- 或者使用Linux自帶的調(diào)優(yōu)策略來(lái)
- 建議針對(duì)某些策略進(jìn)行調(diào)優(yōu)要做好評(píng)估,錯(cuò)誤預(yù)算。
- 如果單純?yōu)榱耸‰?,造成生產(chǎn)故障,最后一地雞毛,那就得不償失,好心辦了壞事。
- 博文提到的策略個(gè)人覺(jué)得部分并不適合生產(chǎn)環(huán)境,部分可以嘗試,有些可能內(nèi)核原因已經(jīng)不支持了,這里整理出來(lái)作為了解
- 博文內(nèi)容涉及:
-
食用方式
- 需了解Linux基礎(chǔ)知識(shí)
「 我以為愛(ài)情可以填滿人生的遺憾,然而,制造更多遺憾的卻偏偏是愛(ài)情」
我的Linux內(nèi)核版本
┌──[root@liruilongs.github.io]-[~]
└─$uname-r
4.18.0-193.el8.x86_64
┌──[root@liruilongs.github.io]-[~]
└─$
節(jié)能策略
管理與高CPU活動(dòng)
相關(guān)的功耗和廢熱
是數(shù)據(jù)中心運(yùn)行
的主要關(guān)注點(diǎn)之一。對(duì)于需要最大限度延長(zhǎng)電池壽命的移動(dòng)設(shè)備來(lái)說(shuō),最大限度地減少功耗也越來(lái)越重要。
可以使用一些通用策略來(lái)降低計(jì)算機(jī)上的功耗:
- 禁用未使用的服務(wù)。
- 禁用不用的硬件設(shè)備。
- 避免對(duì)系統(tǒng)進(jìn)行輪詢操作。
- 延長(zhǎng)延遲活動(dòng)的生命周期。
- 允許不活動(dòng)的設(shè)備進(jìn)入省電狀態(tài)。
下面我們我們看一些可以在在Linux系統(tǒng)上實(shí)現(xiàn)這些策略的一些方法。
「禁用以太網(wǎng)局域:ethtool -s eth0 wol d
」
這里需要注意的是,當(dāng)禁用之后,同一局域網(wǎng)下就不支持遠(yuǎn)程開(kāi)機(jī)了
┌──[root@liruilongs.github.io]-[~]
└─$ethtool-seth0wold
┌──[root@liruilongs.github.io]-[~]
└─$ethtooleth0
Settingsforeth0:
Supportedports:[TP]
Supportedlinkmodes:1000baseT/Full
10000baseT/Full
Supportedpauseframeuse:No
Supportsauto-negotiation:No
SupportedFECmodes:Notreported
Advertisedlinkmodes:Notreported
Advertisedpauseframeuse:No
Advertisedauto-negotiation:No
AdvertisedFECmodes:Notreported
Speed:10000Mb/s
Duplex:Full
Port:TwistedPair
PHYAD:0
Transceiver:internal
Auto-negotiation:off
MDI-X:Unknown
SupportsWake-on:uag
Wake-on:d
Linkdetected:yes
┌──[root@liruilongs.github.io]-[~]
└─$
支持Wake-On-LAN
的以太網(wǎng)卡必須保持供電以監(jiān)控Wake-On-LAN以太網(wǎng)幀(可用于遠(yuǎn)程開(kāi)機(jī))
,即使在系統(tǒng)斷電的情況下。
「啟用筆記本模式」
當(dāng)啟用筆記本模式時(shí),緩存中的臟頁(yè)一次提交,而不是隨著時(shí)間的推移分散提交,減少了硬盤(pán)休眠后重新啟動(dòng)的需要。
┌──[root@liruilongs.github.io]-[~]
└─$echo1>/proc/sys/vm/laptop_mode
┌──[root@liruilongs.github.io]-[~]
└─$cat/proc/sys/vm/laptop_mode
1
┌──[root@liruilongs.github.io]-[~]
└─$
「關(guān)閉 nmi_watchdog」
nmi_watchdog
內(nèi)核模塊用于監(jiān)視內(nèi)核,并在懷疑CPU陷入繁忙循環(huán)時(shí)生成一個(gè)不可屏蔽的“中斷”,允許內(nèi)核記錄調(diào)試信息。
┌──[root@liruilongs.github.io]-[~]
└─$cat/proc/sys/kernel/nmi_watchdog
1
┌──[root@liruilongs.github.io]-[~]
└─$echo0>/proc/sys/kernel/nmi_watchdog
┌──[root@liruilongs.github.io]-[~]
└─$cat/proc/sys/kernel/nmi_watchdog
0
┌──[root@liruilongs.github.io]-[~]
└─$
「啟用noatime文件系統(tǒng)掛載選項(xiàng),不更新訪問(wèn)時(shí)間」
Unix atime
跟蹤文件的訪問(wèn)時(shí)間,其效果是每次讀都有一個(gè)相關(guān)的寫(xiě)操作來(lái)更新atime
。atime字段
很少使用,可以通過(guò)使用noatime掛載文件系統(tǒng)來(lái)禁用它
。注意,Linux 6內(nèi)核支持relative選項(xiàng),該選項(xiàng)維護(hù)atime字段,但將更新提交推遲一天。我們當(dāng)前的系統(tǒng)為Linux release 8.2 (Ootpa)
支持relative
和strictatime
man幫助文檔
atimeDonotusethenoatimefeature,sotheinodeaccesstimeiscontrolledbykerneldefaults.See
alsothedescriptionsoftherelatimeandstrictatimemountoptions.
noatime
Donotupdateinodeaccesstimesonthisfilesystem(e.g.forfasteraccessonthenewsspoolto
speedupnewsservers).Thisworksforallinodetypes(directoriestoo),soitimplies
nodiratime.
啟用方式
┌──[root@liruilongs.github.io]-[~]
└─$mount-oremount,noatime/dev/mapper/rhel-home/home
可以通過(guò)stat命令來(lái)查看文件目錄的詳細(xì)信息
┌──[root@liruilongs.github.io]-[/home]
└─$stat/home/
File:/home/
Size:23Blocks:0IOBlock:4096directory
Device:fd02h/64770dInode:128Links:3
Access:(0755/drwxr-xr-x)Uid:(0/root)Gid:(0/root)
Context:system_uhome_root_t:s0
Access:2020-11-250533.506038318+0800
Modify:2022-04-112350.446087028+0800
Change:2022-06-031141.288596109+0800
Birth:-
┌──[root@liruilongs.github.io]-[/home/liruilong]
└─$hciconfighci0down
藍(lán)牙無(wú)線電接收器耗電,并需要連接USB子系統(tǒng)(額,英語(yǔ)小白..原文:and exercises the USB subsystem
.)。我們平常基本不會(huì)用的,禁用它
┌──[root@liruilongs.github.io]-[/home/liruilong]
└─$hciconfig-a
hci0:Type:PrimaryBus:USB
BDAddress:3C8061:72ACLMTU:8192:128SCOMTU:64:128
UPRUNNING
RXbytes:1048acl:0sco:0events:51errors:0
TXbytes:1209acl:0sco:0commands:51errors:0
Features:0xff0xff0x8f0xfe0x830xe10x080x80
Packettype:DM1DM3DM5DH1DH3DH5HV1HV2HV3
Linkpolicy:RSWITCHHOLDSNIFFPARK
Linkmode:SLAVEACCEPT
Name:'liruilongs.github.io'
Class:0x4c0000
ServiceClasses:Rendering,Capturing,Telephony
DeviceClass:Miscellaneous,
HCIVersion:2.1(0x4)Revision:0x100
LMPVersion:2.1(0x4)Subversion:0x100
Manufacturer:notassigned(6502)
命令選擇 | 描述 |
---|---|
-a | 顯示藍(lán)牙設(shè)備信息 |
up | 開(kāi)啟藍(lán)牙設(shè)備 |
down | 關(guān)閉藍(lán)牙設(shè)備 |
reset | 重置藍(lán)牙設(shè)備 |
pscan | 啟用頁(yè)面掃描,禁用查詢掃描 |
┌──[root@liruilongs.github.io]-[/home/liruilong]
└─$hciconfigpscan
hci0:Type:PrimaryBus:USB
BDAddress:3C8061:72ACLMTU:8192:128SCOMTU:64:128
UPRUNNING
RXbytes:1840acl:0sco:0events:78errors:0
TXbytes:1571acl:0sco:0commands:78errors:0
┌──[root@liruilongs.github.io]-[/home/liruilong]
└─$hciconfighci0down
┌──[root@liruilongs.github.io]-[/home/liruilong]
└─$hciconfigpscan
hci0:Type:PrimaryBus:USB
BDAddress:3C8061:72ACLMTU:8192:128SCOMTU:64:128
DOWN
RXbytes:1840acl:0sco:0events:78errors:0
TXbytes:1571acl:0sco:0commands:78errors:0
「啟用按需CPU頻率調(diào)控器」
Linux內(nèi)核允許通過(guò)可配置的策略來(lái)控制CPU速度。ondemand調(diào)控器允許cpu閑置或在使用不頻繁時(shí)以較低的速度運(yùn)行。
┌──[root@liruilongs.github.io]-[/usr/lib/modules/4.18.0-193.el8.x86_64/kernel/drivers/cpufreq]
└─$cat/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
┌──[root@liruilongs.github.io]-[/usr/lib/modules/4.18.0-193.el8.x86_64/kernel/drivers/cpufreq]
└─$modprobecpufreq_ondemand
┌──[root@liruilongs.github.io]-[/usr/lib/modules/4.18.0-193.el8.x86_64/kernel/drivers/cpufreq]
└─$echoondemand>/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
┌──[root@liruilongs.github.io]-[/usr/lib/modules/4.18.0-193.el8.x86_64/kernel/drivers/cpufreq]
└─$
常見(jiàn)策略我們簡(jiǎn)單來(lái)看下。
-
ondemand
:系統(tǒng)默認(rèn)的超頻模式
,按需調(diào)節(jié),內(nèi)核提供的功能,不是很強(qiáng)大,但有效實(shí)現(xiàn)了動(dòng)態(tài)頻率調(diào)節(jié),平時(shí)以低速方式運(yùn)行,當(dāng)系統(tǒng)負(fù)載提高時(shí)候自動(dòng)提高頻率。以這種模式運(yùn)行不會(huì)因?yàn)榻殿l造成性能降低,同時(shí)也能節(jié)約電能和降低溫度。一般官方內(nèi)核默認(rèn)的方式都是ondemand。 -
interactive
:交互模式
,直接上最高頻率,然后看CPU負(fù)荷慢慢降低,比較耗電。Interactive 是以 CPU 排程數(shù)量而調(diào)整頻率,從而實(shí)現(xiàn)省電。InteractiveX 是以 CPU 負(fù)載來(lái)調(diào)整 CPU 頻率,不會(huì)過(guò)度把頻率調(diào)低。所以比 Interactive 反應(yīng)好些,但是省電的效果一般。 -
conservative
:保守模式
,類似于ondemand,但調(diào)整相對(duì)較緩,想省電就用他吧。Google官方內(nèi)核,kang內(nèi)核默認(rèn)模式。 -
smartass
:聰明模式
,是I和C模式的升級(jí),該模式在比interactive 模式不差的響應(yīng)的前提下會(huì)做到了更加省電。 -
performance
:性能模式
,只有最高頻率,從來(lái)不考慮消耗的電量,性能沒(méi)得說(shuō),但是耗電量。 -
powersave
省電模式
,通常以最低頻率運(yùn)行。 -
userspace
:用戶自定義模式
,系統(tǒng)將變頻策略的決策權(quán)交給了用戶態(tài)應(yīng)用程序,并提供了相應(yīng)的接口供用戶態(tài)應(yīng)用程序調(diào)節(jié)CPU 運(yùn)行頻率使用。也就是長(zhǎng)期以來(lái)都在用的那個(gè)模式。可以通過(guò)手動(dòng)編輯配置文件進(jìn)行配置 -
Hotplug
:類似于ondemand
, 但是cpu會(huì)在關(guān)屏下嘗試關(guān)掉一個(gè)cpu,并且?guī)в衐eep sleep,比較省電。
臨時(shí)設(shè)置,發(fā)現(xiàn)報(bào)錯(cuò)了。根據(jù)提示信息我們排查一下問(wèn)題。
┌──[root@liruilongs.github.io]-[/sys/devices/system/cpu/cpu0]
└─$cpupowerfrequency-set-gondemand
Settingcpu:0
Errorsettingnewvalues.Commonerrors:
-Doyouhaveproperadministrationrights?(super-user?)
-Isthegovernoryourequestedavailableandmodprobed?
-Tryingtosetaninvalidpolicy?
-Tryingtosetaspecificfrequency,butuserspacegovernorisnotavailable,
forexamplebecauseofhardwarewhichcannotbesettoaspecificfrequency
orbecausetheuserspacegovernorisn'tloaded?
查frequency-info信息,發(fā)現(xiàn)調(diào)頻的信息都沒(méi)有
┌──[root@liruilongs.github.io]-[/sys/devices/system/cpu/cpu0]
└─$cpupowerfrequency-info
analyzingCPU0:
noorunknowncpufreqdriverisactiveonthisCPU
CPUswhichrunatthesamehardwarefrequency:NotAvailable
CPUswhichneedtohavetheirfrequencycoordinatedbysoftware:NotAvailable
maximumtransitionlatency:Cannotdetermineorisnotsupported.
hardwarelimits:NotAvailable
availablecpufreqgovernors:NotAvailable
Unabletodeterminecurrentpolicy
currentCPUfrequency:Unabletocallhardware
currentCPUfrequency:Unabletocalltokernel
booststatesupport:
Supported:no
Active:no
BoostStates:0
TotalStates:1
Pstate-P0:1600MHz
可能是調(diào)頻模塊沒(méi)有啟動(dòng),我們來(lái)看下。
┌──[root@liruilongs.github.io]-[/sys/devices/system/cpu/cpu0]
└─$cd/sys/devices/system/cpu/cpu0;ls
cachecrash_notes_sizefirmware_nodenode0subsystemuevent
crash_notesdrivermicrocodepowertopology
確實(shí)么有名為cpufreq的文件夾,然后我們看一下我的CUP信息
┌──[root@liruilongs.github.io]-[/sys/devices/system/cpu/cpu0]
└─$cat/proc/cpuinfo|grepname
modelname:AMDRyzen72700UwithRadeonVegaMobileGfx
modelname:AMDRyzen72700UwithRadeonVegaMobileGfx
┌──[root@liruilongs.github.io]-[/sys/devices/system/cpu/cpu0]
└─$
可以用的 CPUfreq 模塊
┌──[root@liruilongs.github.io]-[/sys/devices/system/cpu/cpu0]
└─$ls/usr/lib/modules/$(uname-r)/kernel/drivers/cpufreq/
acpi-cpufreq.ko.xzp4-clockmod.ko.xzspeedstep-lib.ko.xz
amd_freq_sensitivity.ko.xzpowernow-k8.ko.xz
┌──[root@liruilongs.github.io]-[/sys/devices/system/cpu/cpu0]
└─$
- p4-clockmod.ko.xz Intel P4的處理器
- speedstep-lib.ko.xz 迅弛,很多筆記本都是這個(gè)
- amd_freq_sensitivity.ko.xz,powernow-k*.ko AMD處理器用的
- acpi-cpufreq.ko.xz 如果所有的都不行,試試這個(gè),(但2.6.20或以上的內(nèi)核推薦優(yōu)先使用該項(xiàng))
加載一下AMD對(duì)應(yīng)的模塊試試,發(fā)現(xiàn)沒(méi)辦法加載
┌──[root@liruilongs.github.io]-[/lib/modules/4.18.0-193.el8.x86_64/kernel/drivers/cpufreq]
└─$modprobepowernow-k8
modprobe:ERROR:couldnotinsert'powernow_k8':Nosuchdevice
嘗試修改一下配置試試,我們要修改這個(gè)文件
┌──[root@liruilongs.github.io]-[/lib/modules/4.18.0-193.el8.x86_64/kernel/drivers/cpufreq]
└─$cat/proc/cmdline
BOOT_IMAGE=(hd0,msdos1)/vmlinuz-4.18.0-193.el8.x86_64root=/dev/mapper/rhel-rootroresume=/dev/mapper/rhel-swapnet.ifnames=0biosdevname=0rd.lvm.lv=rhel/rootrd.lvm.lv=rhel/swaprhgbquiet
但是cmdline 不能直接更改,而是通過(guò)更改配置文件生成的該文件
┌──[root@liruilongs.github.io]-[/lib/modules/4.18.0-193.el8.x86_64/kernel/drivers/cpufreq]
└─$sed'$aGRUB_CMDLINE_LINUX_DEFAULT="intel_pstate=disable"'/etc/default/grub
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed's,release.*$,,g'/etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="resume=/dev/mapper/rhel-swapnet.ifnames=0biosdevname=0rd.lvm.lv=rhel/rootrd.lvm.lv=rhel/swaprhgbquiet"
GRUB_DISABLE_RECOVERY="true"
GRUB_ENABLE_BLSCFG=true
GRUB_CMDLINE_LINUX_DEFAULT="intel_pstate=disable"
┌──[root@liruilongs.github.io]-[/lib/modules/4.18.0-193.el8.x86_64/kernel/drivers/cpufreq]
└─$sed-i'$aGRUB_CMDLINE_LINUX_DEFAULT="intel_pstate=disable"'/etc/default/grub
運(yùn)行grub2-mkconfig -o /boot/grub2/grub.cfg
,重新生成config文件
┌──[root@liruilongs.github.io]-[/lib/modules/4.18.0-193.el8.x86_64/kernel/drivers/cpufreq]
└─$grub2-mkconfig-o/boot/grub2/grub.cfg
Generatinggrubconfigurationfile...
reboot 重啟檢查/proc/cmdline
┌──[root@liruilongs.github.io]-[~]
└─$cat/proc/cmdline|grepintel_pstate=disable
BOOT_IMAGE=(hd0,msdos1)/vmlinuz-4.18.0-193.el8.x86_64root=/dev/mapper/rhel-rootroresume=/dev/mapper/rhel-swapnet.ifnames=0biosdevname=0rd.lvm.lv=rhel/rootrd.lvm.lv=rhel/swaprhgbquietintel_pstate=disable
還是不行,時(shí)間關(guān)系這里做簡(jiǎn)單記錄,感興趣小伙伴在研究下,看文檔需要系統(tǒng) BIOS 配置為允許操作系統(tǒng)控制 CPU 電源管理
┌──[root@liruilongs.github.io]-[/usr/lib/modules/4.18.0-193.el8.x86_64/kernel/drivers/cpufreq]
└─$modprobepowernow-k8
modprobe:ERROR:couldnotinsert'powernow_k8':Nosuchdevice
┌──[root@liruilongs.github.io]-[/usr/lib/modules/4.18.0-193.el8.x86_64/kernel/drivers/cpufreq]
└─$
感興趣小伙伴可以參考下這個(gè):https://access.redhat.com/solutions/253803
「將符合AC97的聲卡設(shè)置為省電模式」
┌──[root@liruilongs.github.io]-[~]
└─$cat/sys/module/snd_ac97_codec/parameters/power_save
5
┌──[root@liruilongs.github.io]-[~]
└─$echo1>/sys/module/snd_ac97_codec/parameters/power_save
┌──[root@liruilongs.github.io]-[~]
└─$cat/sys/module/snd_ac97_codec/parameters/power_save
1
┌──[root@liruilongs.github.io]-[~]
└─$
「禁用rsyslogd
同步」rsyslog是一個(gè)開(kāi)源的軟件程序,它負(fù)責(zé)寫(xiě)入日志。它記錄絕大部分的日志記錄,和系統(tǒng)有關(guān)的、安全、認(rèn)證ssh,su、計(jì)劃任務(wù)at,cron等日志。所以這要根據(jù)實(shí)際情況選擇,如果遇到木馬入侵等安全相關(guān)問(wèn)題,通過(guò)日志排查可以發(fā)現(xiàn)問(wèn)題。
┌──[root@liruilongs.github.io]-[~]
└─$sed-e's#s/var/log/#-'/etc/rsyslog.conf
默認(rèn)情況下,rsyslogd
在寫(xiě)入所有文件后同步所有文件
。在文件名前面加上"-
"將禁用此行為。
┌──[root@liruilongs.github.io]-[~]
└─$grep/var/log/etc/rsyslog.conf
*.info;mail.none;authpriv.none;cron.none/var/log/messages
authpriv.*/var/log/secure
mail.*-/var/log/maillog
cron.*/var/log/cron
uucp,news.crit/var/log/spooler
local7.*/var/log/boot.log
┌──[root@liruilongs.github.io]-[~]
└─$
「啟用電源感知CPU調(diào)度器」
這個(gè)我的機(jī)器沒(méi)辦法做Demo。感興趣小伙伴可以研究下
echo1>/sys/devices/system/cpu/sched_mc_power_savings
調(diào)整任務(wù)調(diào)度,使任務(wù)在盡可能少的內(nèi)核上調(diào)度,允許未使用的cpu空閑。支持以下值。
- 0:無(wú)節(jié)能負(fù)載均衡(默認(rèn)值)
- 1:對(duì)于長(zhǎng)時(shí)間運(yùn)行的線程,先填充一個(gè)線程/內(nèi)核/包
- 2:也將任務(wù)喚醒到半空閑的cpu包,以節(jié)省電力
「增加虛擬機(jī)的臟回寫(xiě)時(shí)間」
┌──[root@liruilongs.github.io]-[/sys/devices/system/cpu]
└─$cat/proc/sys/vm/dirty_writeback_centisecs
500
┌──[root@liruilongs.github.io]-[/sys/devices/system/cpu]
└─$echo300000>/proc/sys/vm/dirty_writeback_centisecs
┌──[root@liruilongs.github.io]-[/sys/devices/system/cpu]
└─$cat/proc/sys/vm/dirty_writeback_centisecs
300000
┌──[root@liruilongs.github.io]-[/sys/devices/system/cpu]
└─$
vm/dirty_writeback_centisecs sysctl
控制I/O緩存中的臟頁(yè)
提交到磁盤(pán)的時(shí)間
,在Linux中默認(rèn)為500。增加時(shí)間可以顯著減少磁盤(pán)旋轉(zhuǎn),但在崩潰的情況下會(huì)有更多的數(shù)據(jù)丟失的風(fēng)險(xiǎn)。
「開(kāi)啟ALPM (SATAAggressive Link Power Management)模式」
現(xiàn)代SATA控制器
可以在不工作時(shí)進(jìn)入低功耗模式,從而顯著節(jié)省電力。
echomin_power>/sys/class/scsihost/hoste/link_power_management_policy
這個(gè)也不行,可能是內(nèi)核版本的原因,或者是需要安裝TLP電源管理工具
「啟用USB 的autosuspend」
usbcore.autosuspend=1(onthekernelcommand1ine)
USB自動(dòng)暫停允許不活動(dòng)的USB設(shè)備進(jìn)入省電模式。
「開(kāi)啟無(wú)線設(shè)備的省電模式」
iwprivwlaneset_power5c
無(wú)線設(shè)備支持不同的功率級(jí)別,從1到5不等。O表示自動(dòng),6表示不節(jié)能。
節(jié)能調(diào)優(yōu)配置文件
RHEL7/8的調(diào)優(yōu)服務(wù)tuned:提供了大量預(yù)設(shè)的調(diào)優(yōu)方案,旨在于簡(jiǎn)化調(diào)優(yōu)的實(shí)施,充分利用系統(tǒng)資源與能效。管理員可以針對(duì)不同的業(yè)務(wù)選擇不同的優(yōu)化策略,節(jié)能的調(diào)優(yōu)可以使用powersave
策略
┌──[root@liruilongs.github.io]-[/sys/class/scsi_host/host0]
└─$tuned-admlist|greppowersave
-powersave-Optimizeforlowpowerconsumption
┌──[root@liruilongs.github.io]-[/sys/class/scsi_host/host0]
└─$tuned-admprofilepowersave
┌──[root@liruilongs.github.io]-[/sys/class/scsi_host/host0]
└─$tuned-admactive
Currentactiveprofile:powersave
配置功率使用powertop
PowerTOP
是一個(gè)筆記本電腦節(jié)省電源的 Linux 工具。此工具由 Intel 公司發(fā)布。它可以幫助用戶找出那些耗電量大的程序,通過(guò)修復(fù)或者關(guān)閉那些應(yīng)用程序或進(jìn)程,從而為用戶節(jié)省電源。
PowerTOP 要求 Linux 內(nèi)核開(kāi)啟 tickless idle 功能,具備 2.6.21 及以上版本。另外,PowerTOP 工作的最佳平臺(tái)為筆記本電腦。
官網(wǎng)地址:http://www.linuxpowertop.org/
需要裝包
┌──[root@liruilongs.github.io]-[/sys/class/scsi_host/host0/power]
└─$yum-yinstallpowertop
幫助文檔
┌──[root@liruilongs.github.io]-[~]
└─$powertop--help
Usage:powertop[OPTIONS]
--auto-tunesetsalltunableoptionstotheirGOODsetting
-c,--calibraterunspowertopincalibrationmode
-C,--csv[=filename]generateacsvreport
--debugrunin"debug"mode
--extech[=devnode]usesanExtechPowerAnalyzerformeasurements
-r,--html[=filename]generateahtmlreport
-i,--iteration[=iterations]numberoftimestoruneachtest
-q,--quietsuppressstderroutput
-s,--sample[=seconds]intervalforpowerconsumptionmeasurement
-t,--time[=seconds]generateareportfor'x'seconds
-w,--workload[=workload]filetoexecuteforworkload
-V,--versionprintversioninformation
-h,--helpprintthishelpmenu
Formorehelppleaserefertothe'man8powertop'
Tunables 分頁(yè)為調(diào)優(yōu)選擇
請(qǐng)使用 Tab, Shift + Tab 或方向鍵 ←, → 切換至 Tunables 分頁(yè) ↑, ↓ 上下移動(dòng),于欲調(diào)校的項(xiàng)目按下 Enter 進(jìn)行調(diào)校,當(dāng)所有狀態(tài)顯示為 Good 后即可按下 q 離開(kāi)。
也可以通過(guò)命令來(lái)批量設(shè)置
┌──[root@liruilongs.github.io]-[~]
└─$powertop--auto-tune
modprobecpufreq_statsfailedLoaded0priormeasurements
RAPLdeviceforcpu0
RAPLdeviceforcpu0
Devfreqnotenabled
globreturnedGLOB_ABORTED
theportissda
LeavingPowerTOP
┌──[root@liruilongs.github.io]-[~]
└─$
PowerTOP 本身并無(wú)儲(chǔ)存功能,但我們可以借由 powertop --html/csv
產(chǎn)生的報(bào)告來(lái)調(diào)校系統(tǒng),甚至于開(kāi)機(jī)時(shí)載入這些設(shè)定.
┌──[root@liruilongs.github.io]-[~]
└─$powertop--html
modprobecpufreq_statsfailedLoaded0priormeasurements
RAPLdeviceforcpu0
RAPLdeviceforcpu0
Devfreqnotenabled
globreturnedGLOB_ABORTED
Preparingtotakemeasurements
Taking1measurement(s)foradurationof20second(s)each.
theportissda
PowerTOPoutputingusingbasefilenamepowertop.html
PSE:docker>scproot@192.168.26.66:/root/powertop.html.
root@192.168.26.66'spassword:
powertop.html100%71KB9.9MB/s00:00
PSE:docker>
原文標(biāo)題:Linux性能調(diào)優(yōu)之用電調(diào)優(yōu)(Power Usage Tuning)
文章出處:【微信公眾號(hào):一口Linux】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
-
內(nèi)核
+關(guān)注
關(guān)注
3文章
1372瀏覽量
40290 -
cpu
+關(guān)注
關(guān)注
68文章
10863瀏覽量
211779 -
Linux
+關(guān)注
關(guān)注
87文章
11304瀏覽量
209519 -
功耗
+關(guān)注
關(guān)注
1文章
810瀏覽量
31949
原文標(biāo)題:Linux性能調(diào)優(yōu)之用電調(diào)優(yōu)(Power Usage Tuning)
文章出處:【微信號(hào):yikoulinux,微信公眾號(hào):一口Linux】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論