日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

ubuntu 筆記本電源管理優(yōu)化指南

系統(tǒng) 5733 0

ubuntu 筆記本電源管理優(yōu)化指南

作者:yuk
版本:1.0
免責(zé)聲明:以下操作可能會(huì)引起數(shù)據(jù)丟失,本人不承擔(dān)任何責(zé)任。
版權(quán)聲明:可以自由轉(zhuǎn)載,但原作者請(qǐng)務(wù)必保留;

論壇里看到許多朋友抱怨linux電源管理很糟糕,說(shuō)什么電池使用比win下短了很多。實(shí)際上linux提供很多電源優(yōu)化的功能,只不過(guò)默認(rèn)情況下的設(shè)置沒(méi)有考慮電源使用罷了。下面我以u(píng)buntu edgy為例,系統(tǒng)的討論一下筆記本電源管理優(yōu)化。
目標(biāo):最長(zhǎng)的電池使用時(shí)間

概述
筆記本由許多不同的組件組成,各個(gè)組件的耗電不用,引用gentoo power management的一張圖,其耗電比重如下圖所示:
Power Budget For Each Component

?

?

?

?

?

?

?

?

?

?

?

?

從上圖我們可以看到主要的耗電部件是液晶顯示器、CPU、芯片組和硬盤(pán)。雖然我們可以在BIOS里面設(shè)置操作系統(tǒng)無(wú)關(guān)的電源管理模式,但是在操作系統(tǒng)之上我們可以設(shè)置一些更smart的電源管理模式自動(dòng)適應(yīng)各種環(huán)境。
本文分下面幾個(gè)部分分別討論各個(gè)部件的電源管理優(yōu)化。

0. 前提
在討論各個(gè)設(shè)備的電源管理優(yōu)化之前,先確定我們是否滿足下面一些前提條件。

BOIS
首先你要檢查一下你的BOIS的電源管理設(shè)置,先關(guān)閉所有bois支持的電源管理方式,只通過(guò)操作系統(tǒng)設(shè)置電源管理,然后再恢復(fù)BOIS的電源管理。
kernel
acpi支持,edgy默認(rèn)內(nèi)核是支持acpi的,如果你自定義編譯了內(nèi)核,記住要把電源管理相關(guān)的模塊選上

     Power Management Options --->
  [*] Power Management Support
  [ ] Software Suspend

  ACPI( Advanced Configuration and Power Interface ) Support --->
    [*] ACPI Support
    [ ]   Sleep States
    [ ]     /proc/acpi/sleep (deprecated)
    [*]   AC Adapter
    [*]   Battery
    <M>   Button
    <M>   Video
    [ ]   Generic Hotkey
    <M>   Fan
    <M>   Processor
    <M>     Thermal Zone
    < >   ASUS/Medion Laptop Extras
    < >   IBM ThinkPad Laptop Extras
    < >   Toshiba Laptop Extras
    (0)   Disable ACPI for systems before Jan 1st this year
    [ ]   Debug Statements
    [*]   Power Management Timer Support
    < >   ACPI0004,PNP0A05 and PNP0A06 Container Driver (EXPERIMENTAL)

  CPU Frequency Scaling --->
    [*] CPU Frequency scaling
    [ ]   Enable CPUfreq debugging
    < >   CPU frequency translation statistics
    [ ]     CPU frequency translation statistics details
          Default CPUFreq governor (userspace)
    <*>   'performance' governor
    <*>   'powersave' governor
    <*>   'ondemand' cpufreq policy governor
    <*>   'conservative' cpufreq governor
    <*>   CPU frequency table helpers
    <M> ACPI Processor P-States driver
    <*> CPUFreq driver for your processor
  

?1.顯示器
如上圖所示,LCD是最耗電的部件,這一節(jié)我們討論如何降低LCD的耗電
首先,盡可能調(diào)低亮度,這個(gè)不多說(shuō)手動(dòng)調(diào)節(jié)就可以了;
然后設(shè)置 DPMS(Display Power Management Signaling)
修改sudo vi /etc/X11/xorg.conf文件

      Section "ServerLayout"
  Identifier  [...]
  [...]
  Option  "BlankTime"  "5"  # Blank the screen after 5 minutes (Fake)
  Option  "StandbyTime"  "10"  # Turn off screen after 10 minutes (DPMS)
  Option  "SuspendTime"  "20"  # Full suspend after 20 minutes
  Option  "OffTime"  "30"  # Turn off after half an hour
  [...]
  EndSection

  [...]

  Section "Monitor"
  Identifier  [...]
  Option  "DPMS"  "true"
  [...]
  EndSection
  

?但似乎xorg的dpms有bug不能關(guān)閉LCD,只能把屏幕變黑
google搜索了一下發(fā)現(xiàn)是和acpi沖突只要重新啟動(dòng)acpi就可以了
手動(dòng)設(shè)置屏幕關(guān)閉,

      sudo /etc/init.d/acpid restart
  xset dpms force off
  

?2.cpu

移動(dòng)版本的CPU支持頻率和電壓的動(dòng)態(tài)調(diào)整,在大多數(shù)情況下你的CPU是沒(méi)必要全速運(yùn)行的,尤其在電池支持下,我們可以強(qiáng)制使CPU運(yùn)行在最低頻率。

在linux 2.6以后的內(nèi)核就支持cpu頻率的動(dòng)態(tài)調(diào)整,有下面5種模式

    performance 將CPU頻率設(shè)定在支持的最高頻率,而不動(dòng)態(tài)調(diào)節(jié).
    powersave 將CPU頻率設(shè)置為最低
    ondemand 快速動(dòng)態(tài)調(diào)整CPU頻率, Pentuim M的CPU可以使用
    conservative 與ondemand不同,平滑地調(diào)整CPU頻率,適合于用電池工作時(shí).
    userspace 用戶模式,也就是長(zhǎng)期以來(lái)都在用的那個(gè)模式。可以通過(guò)手動(dòng)編輯配置文件進(jìn)行配置

先安裝相關(guān)軟件cpufrequtils

    sudo apt-get install cpufrequtils
  

?查看你的cpu所支持的頻率
cpufreq-info

?

code 寫(xiě)道
cpufrequtils 002: cpufreq-info (C) Dominik Brodowski 2004-2006
Report errors and bugs to linux@brodo.de, please.
analyzing CPU 0:
driver: powernow-k8
CPUs which need to switch frequency at the same time: 0
hardware limits: 800 MHz - 1.60 GHz
available frequency steps: 1.60 GHz, 800 MHz
available cpufreq governors: userspace, powersave, ondemand, conservative, performance
current policy: frequency should be within 800 MHz and 1.60 GHz.
The governor "ondemand" may decide which speed to use
within this range.
current CPU frequency is 800 MHz.

?需要進(jìn)入那個(gè)模式直接修改proc文件,比如要進(jìn)入powersave模式

code 寫(xiě)道
sudo -s
echo powersave > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor

?其實(shí)有個(gè)實(shí)用程序laptop-mode可以方便的設(shè)置,在后面硬盤(pán)一節(jié)統(tǒng)一介紹

如果是用迅馳cpu,支持多個(gè)頻率,你可以用powernowd更細(xì)化的調(diào)節(jié)cpu頻率

3.顯卡
各類顯卡有自己的電源管理方式,我這里主要介紹ati powerplay,
首先要安裝ati的fgrlx,請(qǐng)參考論壇wiki
運(yùn)行aticonfig --lsp顯示顯卡可以運(yùn)行的頻率,選最低的就行了
我的輸出:

code 寫(xiě)道
aticonfig --lsp
core/mem [flags]
-----------------
* 1: 100/150 MHz
2: 301/200 MHz [default state]

aticonfig --set-powerstate=0

?使顯卡運(yùn)行在最低頻率上

也可以設(shè)置顯卡動(dòng)態(tài)調(diào)整頻率
修改sudo vi /etc/X11/xorg.conf

code 寫(xiě)道
Section "Device"
[...]
Option "DynamicClocks" "on"
EndSection

?4.硬盤(pán)
我們先做一個(gè)粗略的計(jì)算,你的筆記本如果硬盤(pán)在節(jié)能模式下運(yùn)行,能延長(zhǎng)多少時(shí)間。
cat /proc/acpi/battery/BATx/info

寫(xiě)道
present: yes
design capacity: 6000 mAh
last full capacity: 3808 mAh
battery technology: rechargeable
design voltage: 14800 mV
design capacity warning: 209 mAh
design capacity low: 133 mAh
capacity granularity 1: 10 mAh
capacity granularity 2: 25 mAh
model number: JM-6
serial number: xxxxxxxxxxxxxxx
battery type: LION
OEM info: Hewlett-Packard

?電池功率為 3808 mAh x 14800 mV = 56.3584 Wh == 56wh
電池支持時(shí)間4小時(shí)
移動(dòng)硬盤(pán)正常功率: 2.4w
移動(dòng)硬盤(pán)standby功率: 0.25w
(根據(jù)自己型號(hào)google自己搜索)
56/4 = 14 w
14 - (2.4-0.25) = 11.85 w
56 / 11.85 = 4.725738397 小時(shí)
延長(zhǎng)了0.73 小時(shí),大約44分鐘
硬盤(pán)是不可能一直處于standby狀態(tài)的,實(shí)際的情況肯定會(huì)短一些。

下面我們討論如何使硬盤(pán)更長(zhǎng)時(shí)間的處于standby模式下

我們可以laptop-mode 軟件達(dá)到這個(gè)效果,
首先我們啟動(dòng)laptop-mode,edgy默認(rèn)設(shè)置是禁止laptop-mode運(yùn)行的
修改 /etc/default/acpi-support

寫(xiě)道
ENABLE_LAPTOP_MODE=true

?sudo /etc/init.d/laptop-mode start


好了現(xiàn)在我們來(lái)詳細(xì)配置,有中文注釋的地方是我修改過(guò)的地方
修改/etc/laptop-mode/laptop-mode.conf

寫(xiě)道
# Enable laptop mode when on battery power.
# 在電池模式下啟動(dòng)laptop_mode
ENABLE_LAPTOP_MODE_ON_BATTERY=1


# Disable all data loss sensitive features when the battery level (in % of the
# battery capacity) reaches this value.
# 在低電量的情況下禁止laptop-mode
MINIMUM_BATTERY_CHARGE_PERCENT=10

# Disable data loss sensitive features when the battery reports its state
# as "critical".
# 在極底電量下禁止laptop_mode
DISABLE_LAPTOP_MODE_ON_CRITICAL_BATTERY_LEVEL=8

# The drives that laptop mode controls.
# Separate them by a space, e.g. HD="/dev/hda /dev/hdb". The default is a
# wildcard, which will get you all your IDE and SCSI/SATA drives.
# HD="/dev/[hs]d[abcdefgh]"
# 設(shè)定需要控制的硬盤(pán)
HD="/dev/hda"

# Should laptop mode tools control readahead?
# 啟動(dòng) readahead
CONTROL_READAHEAD=1

# Read-ahead, in kilobytes. You can spin down the disk while playing MP3/OGG
# by setting the disk readahead to a reasonable size, e.g. 3072 (3 MB).
# Effectively, the disk will read a complete MP3 at once, and will then spin
# down while the MP3/OGG is playing. Don't set this too high, because the
# readahead is applied to _all_ files that are read from disk.
# 設(shè)定laptop_mode下的readahead buffer,如果是聽(tīng)mp3 3-5M,如果是看電影 8-10M
LM_READAHEAD=4096
NOLM_READAHEAD=128

# Should laptop mode tools control the maximum CPU frequency?
# 啟動(dòng)CPU頻率控制
CONTROL_CPU_FREQUENCY=1

# Legal values are "slowest" for the slowest speed that your
# CPU is able to operate at, "fastest" for the fastest speed,
# "medium" for some value in the middle, or any value listed in
# /sys/devices/system/cpu/cpu*/cpufreq/scaling_available_frequencies.
# 設(shè)定電池模式下的CPU頻率
BATT_CPU_MAXFREQ=slowest
BATT_CPU_MINFREQ=slowest
BATT_CPU_GOVERNOR=ondemand

?現(xiàn)在可以通過(guò)下面命令查看laptop-mode的狀態(tài)
sudo /etc/init.d/laptop-mode status

使用tmpfs把臨時(shí)文件放入內(nèi)存中。tmpfs 就象虛擬磁盤(pán)(ramdisk),但又不完全一樣。象虛擬磁盤(pán)一樣,tmpfs 可以使用您的 RAM,但它也可以使用您的交換分區(qū)來(lái)存儲(chǔ)。而且傳統(tǒng)的虛擬磁盤(pán)是個(gè)塊設(shè)備,并需要一個(gè) mkfs 之類的命令才能真正地使用它,tmpfs 是一個(gè)文件系統(tǒng),而不是塊設(shè)備;您只是安裝它,它就可以使用了。總而言之,這讓 tmpfs 成為我有機(jī)會(huì)遇到的最好的基于 RAM 的文件系統(tǒng)。

修改/etc/fstab,把tmpfs mount 到/tmp上,并設(shè)置最大上限為32M。

寫(xiě)道
# <file system> <mount point> <type> <options> <dump> <pass>
tmpfs /tmp tmpfs size=32m 0 0

?如果你內(nèi)存很多(1G以上)你完全可關(guān)閉swap

寫(xiě)道
sudo swapoff /dev/hdax

?現(xiàn)在你的硬盤(pán)應(yīng)該把讀寫(xiě)操作降得很低了。

5.其他優(yōu)化

降低顏色深度
修改xorg.conf 改為16位色
修改sudo vi /etc/X11/xorg.conf

寫(xiě)道
section screen
DefaultDepth 16

?盡量少使用光驅(qū)

盡量不啟動(dòng)X,使用console
比如看片子的話可以在console下用mplayer -vo fbdev your.movie.file
聽(tīng)音樂(lè)可以使用mpg123 ogg123等等

無(wú)線網(wǎng)卡
在不使用wlan的時(shí)候關(guān)閉它

寫(xiě)道
sudo iwconfig wlan0 power off

?6. 讓上面優(yōu)化實(shí)現(xiàn)自動(dòng)化
acpi能截獲電源適配器事件
/etc/acpi/events/ac
在這個(gè)腳本中我們可以看到實(shí)際上調(diào)用的是/etc/acpi/power.sh腳本

寫(xiě)道
for x in /proc/acpi/ac_adapter/*; do
grep -q off-line $x/state

if [ $? = 0 ] && [ x$1 != xstop ]; then
for SCRIPT in /etc/acpi/battery.d/*.sh; do
. $SCRIPT
done
if [ x$ENABLE_LAPTOP_MODE = xtrue ]; then
(sleep 5 && laptop_mode_enable)&
fi
else
for SCRIPT in /etc/acpi/ac.d/*.sh; do
. $SCRIPT
done
if [ x$ENABLE_LAPTOP_MODE = xtrue ]; then
(sleep 5 && laptop_mode_disable)&
fi
fi
done

?在這段腳本中我們看到如果要讓腳本在bettary模式下運(yùn)行就放在/etc/acpi/battery.d/目錄下,要讓腳本在電源模式下于虛擬就把腳本放在/etc/acpi/ac.d/目錄下

好了既然腳本能自動(dòng)執(zhí)行,要實(shí)現(xiàn)什么樣的節(jié)能效果就看你的想象力了。



另附一些實(shí)用工具軟件
查看硬盤(pán)溫度
sudo hddtemp -n /dev/hda
查看cpu信息
sudo x86info
查看硬件信息
lshw

案例,本人hp ze22xx
在windows下便攜模式下能運(yùn)行大概2小時(shí)20分
在ubuntu下未優(yōu)化能運(yùn)行2小時(shí)左右
優(yōu)化過(guò)后能運(yùn)行2小時(shí)30分

參考
gentoo power management guide

http://www.gentoo.org/doc/en/power-management-guide.xml


Extending Battery Life with Laptop Mode

http://www.linuxjournal.com/article/7539


?

?

?

?

?

ubuntu 筆記本電源管理優(yōu)化指南


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 浦城县| 沧源| 游戏| 农安县| 秦皇岛市| 汉中市| 资溪县| 奉贤区| 威海市| 葫芦岛市| 扶沟县| 吉安市| 丹阳市| 疏勒县| 宾川县| 花垣县| 白山市| 郸城县| 东丰县| 莒南县| 潍坊市| 搜索| 鄂托克前旗| 翼城县| 大理市| 余庆县| 东辽县| 朔州市| 喀喇| 关岭| 汤原县| 灌云县| 广德县| 岑溪市| 无为县| 全椒县| 定兴县| 安岳县| 石狮市| 汉川市| 武鸣县|