使用电池供电的 Linux Mini-HOWTO
2005-04-15 11:41:36 来源:WEB开发网核心提示:作者:HannoMueller,hanno@lava.dehttp://www.lava.de/~hanno/ 译者:谢昆中HSIEHKun-Chung,linuxer.bbs@cis.nctu.edu.tw 1997年12月21日 本文件旨在描述如何以调整Linux系统的某些设定来减少系统的电源消耗,这对那些使用可
作者: Hanno Mueller, hanno@lava.de http://www.lava.de/~hanno/
译者: 谢昆中 HSIEH Kun-Chung, linuxer.bbs@cis.nctu.edu.tw
1997年12月21日
--------------------------------------------------------------------------------
本文件旨在描述如何以调整 Linux 系统的某些设定来减少系统的电源消耗。 这对那些使用可携式电脑系统的 Linux 使用者来说蛮有助益的。□面还有一些关於如何照顾您的电池的资讯。 如果你在桌上型电脑上使用 Linux ,也许你并不需要读这些。
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
1. 简介
``六岁(含)以上,装上电池的。''
1.1 在你发问前
本文件并不是谈如何在笔记电脑上安装 Linux 的, 而是谈如何在已安装了 Linux 系统的笔记电脑上最佳化 Linux。请阅读 Installation-HOWTO 或是你的供应商版本的手册中对於安装 Linux 的说明。
本文件并不是谈如何使用不断电系统, 也不是谈 powerd 精灵的, ( 虽然不断电系统是个大电池 )。有关这个主题,请阅读 UPS-HOWTO 有详细资料。
1.2 这份文件是关於哪些
现在已经有愈来愈多人拥有可携式电脑,而且也愈来愈多人在这种电脑上安装Linux了。
在一台笔记电脑上安装与使用 Linux 已经一点也没有问题了, 放手去做并试试吧。不像有些其他的作业系统,Linux 仍旧支援并可在非常旧的硬碟上跑的很好, 所以您也许可以安装 Linux 的方式来给您过时的可携式电脑一个重生的机会。
如果您在笔记电脑上安装 Linux 时需要协助或是如果您有关於笔记电脑硬体上的问题,您可查看看非常棒的 Linux 笔记电脑网页 在 http: //www.cs.utexas.edu/users/kharker/linux-laptop/ 在那儿你可找到很多有用的资讯和详细的协助。 这个 Linux 笔记电脑网页有介绍特定型号的笔记电脑及晶片组的硬体构建。
然而这份 HOWTO 将焦点集中在所有的可携式系统之共同问题: 电源消耗 。
到目前为止, 我还没看到有哪个 Linux 供应商版本原本就提供给笔记电脑做 最佳化 设定的。 由於我到处都找不到这方面的资讯,所以我就开始□集一些简单但有效的小秘诀来帮助我们来节省电池的电量,进而增加系统的使用时间。
(附注:我收到一位读者抱怨说这些小秘诀并没为他的笔记电脑增加什麽效率。因此,这些小秘诀真的都可行吗? 是的,但千万不要期望奇迹。我曾经把我的笔记电脑的电池使用时间从 90 分钟增加到超过 120 分钟哩。 )
1.3 地图
如果你是个笔记电脑使用专家, 你可以跳开不用看 一般资讯 这章。而您所真正想知道的可在 改变某些一般系统设定值 章找到。如果您是个 Linux 供应商,请阅读 给 Linux 供应商的一封信 。
1.4 回应
非常欢迎您的回应。请将您的建议寄到 hanno@lava.de。这些小秘诀在您的系统上可行吗? 您有新秘诀吗? 在这份文章□有过时的连结或位址吗?
非常抱谦,如果您有特定笔记电脑型号上所发生的问题,我没有办法帮助你。我并没说我是个笔记电脑先进,只是我自己有台笔记电脑,而我只是想要分享我所□集到资讯而已。 请您先查一下 Linux 笔记电脑网页,也许正好有人写了篇和您相同型号的网页了。关於技术支援请问您的制造商,或到笔记电脑新闻讨论群组 comp.sys.laptops □提问题。
译者按: 使用中文的朋友可在 tw.bbs.comp.notebook 或是在 tw.bbs.comp.hardware □提问题。
1.5 解除条款
所有在这儿提到的方法都经由我测试过,而且在我的笔记电脑上工作的很好,除非有特别提及。然而,我不能保证其中是否有哪个方法不会有误或严重地伤害您的系统。 生命是处在危险的,所在 " 玩 " 您的 Linux 建构前请先将您的重要档案备份起来。如果有哪个地方错了,我并不负责您的档案资料的任何损失。也就是说:请不要告我哦!拜托了,谢谢。
1.6 版权
本文件应该在标准 HOWTO 版权公告下被流通,您可在 http: //sunsite.unc.edu/mdw/linux.html 内的 HOWTO 目录内找到 。
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
2. 一般资讯
本章介绍一些关於笔记电脑电池技术的东西以及一般节省能源的小秘诀。这些资讯并不是特别针对 Linux 的。 所以,如果您有使用笔记电脑的经验,您可能已经知道这些了。
2.1 对您的电池好些
( 感谢对本章节中曾付出心力的朋友。)
目前有三种电池被用在可携式电脑上。
NiCd (镍镉 ) 电池已是多年的标准技术了,但是现在它们已经是过时的了,新的笔记电脑已不再使用了。它们很重而且有 `` 记忆效应 '' 的倾向。当再充电 NiCd 电池时当它并没有被完全放电时,它会 `` 记忆 '' 旧的充电量,下次你要使用它时就从那儿开始。
记忆效应的产生原因是电池内物质的结晶化,它会永久地减少您的电池的寿命,甚至让它变成没有用处。要防止这样,至少每几个星期就要有一次将电池完全放电後再充饱它。
(附注: 关於记忆效应。 James Youngman 知道一个很有趣的方法-嗯- `` 修理 '' 你的电池: `` 如果您的 NiCd 电池遭遇到记忆效应,请将它移出您的电脑,拿著它在桌上或地板上方 30 公分处,然後让它掉下。 (请确认它平著著地 )。 '' 他说这样会打断已在电池内所形成的小须须,那也就是造成记忆效应的原因,如果您的电池已经有这种现象了。 `` 我不晓得在非 NiCd 电池上这麽做是否也可以。'')
镉是个非常危险的毒素,但是如果把它交还给你买它的商人,这个物质是可以完全被循环使用的。
如果你感兴趣,下面是 NiCd 的某些规格:
单个电压: 1,2 V
电能 / 质量: 40 Wh/kg
电能 / 体积: 100 Wh/l
最大电能: 20 Wh
充电温度: 10 到 35 C (50 到 95 F)
放电温度: -20 到 50 C (-5 到 120 F)
储存温度.: 0 到 45 C (30 到 115 F)
NiMh (镍氢 ) 电池被用在现行较便宜的笔记电脑上的标准电池。它们可以被做得更小,而且比 NiCd 电池较不会产生记忆效应。
然而,它们在很高及很低的室温下会有问题。虽然它们使用较不会有危险及无毒物质, 它们尚无法被完全回收再生使用 (但是未来这也许会改变 )。
NiMh 的规格:
单个电压: 1,2 V
电能 / 质量: 55 Wh/kg
电能 / 体积: 160 Wh/l
最大电能: 35 Wh
充电温度: 10 到 35 C (50 到 95 F)
放电温度: 0 到 45 C (30 到 115 F)
储存温度: 0 到 30 C (30 到 85 F)
新的高效能电池使用 LiIon (锂 ) 电池技术。理论上,使用这类电池并不会有任何记忆效应,但有时候它们似乎也有这种问题。它们使用对环镜无害的物质,但它们最好还是被送回做再生。
LiIon的规格:
单个电压: 3,6 V
电能 / 质: 100 Wh/kg
电能 / 体: 230 Wh/l
最大电能: 60 Wh
充电温度: 0 到 45 C (30 到 115 F)
放电温度: -20 到 60 C (-5 到 140 F)
储存温度: -20 到 60 C (-5 到 140 F)
就算电池盒看起来很像,您还是无法只升级到其他的电池科技,因为每一种电池的充电的方法是不一样的。
有些制造商整合了充电电路到笔记电脑的外接交流电源供应器上,你只要买个新的电源供应器即可做升级了。好的辨别方法是,看看是否有个外接电源供应器。
有些制造商则将充电电路做在笔记电脑的外壳内,让使用者无法简单地将它换成新的技术。如果你的交流电源只使用两条线接到电脑上 (和我的一样 ) ,那麽充电器可能就放在笔记电脑内了。
如果有疑问,直接问厂商看看是否你的笔记电脑有支援较现代的电池。
有很久时间不被使用的电池也会自已慢慢地放电。就算您很用心地照顾它们,在充电 500 到 1000 次後就差不多要换新电池了。 还有,并不建议您在使用交流电源供应笔记电脑的电源时不装上电池-电池就像个大电容器一样保护免於经由交流电源所产生的突然电压高峰波动所产生的伤害。
由於制造商几乎每几个月就改装他们的电池的外型,从现在开始算的几年後你也许会面临为你的笔记电脑找个新电池的问题。买个□置的新电池吧!在它不在货架上前。
2.2 省电-明显的东西
这儿有几个明显地您可以做的事来减少你的系统的电源消耗。好吧,也许并不一明显吧,因为并没有很多人会照著这些规则来做...
在你不需要使用时, 调低或关掉你的萤幕的背光亮度。 另外,TFT 萤幕比 DSTN 的使用更多的电量 (你看, 现在你有为何你会买较便宜的笔记电脑的藉口了...)。
(David Bateman 告诉我,使用电池时外接个 CRT 萤幕并把笔记电脑的萤幕关掉的话可以延长原来的电池使用时间约 30%。` 虽然这并不是个很有用的小知识, 但既然你已经接上了一个 crt 萤幕,为什麽还要用笔记电脑的呢。'')
您到底需要多快的处理能力呢? 我很怀疑在路上时你会做比文书编辑还更多的工作。(好吧,那个时候我不会用来编译 linux 核心的 )。对电池来说,减低 CPU 时脉速度也会减少电源的消耗量。很少有笔记电脑有提供 CPU 时脉选择器来做正常或低速的切换的。
关掉 CPU 冷却器 (如果你有的话 )。 现在有许多笔记电脑在 BIOS 选项有个叫 ``Cooling control( 冷却控制 )'' 的。如果你的系统之 CPU 变热时,这个选项允许你让一个小型风扇来冷却它 (设定 ``performance'') 或是让 CPU 的时脉速度下降 (设定 ``silence'')。要增加您使用电池的时间,请使 ``silence'' 选项。
避免以电池供电时连接使用外接的装置 (印表机、crt 萤幕、zip 磁碟机、可携式相机等等。 )。当接上一个标准喷墨印表机时,我的笔记电脑的电池使用时间会从 120 分钟以上掉成 20 分钟而已。
除非必要否则不要使用任何内建的设备:软碟机、硬碟机、光碟机。特别是光碟机会加剧减少你的电池使用时间。
Pcmcia 卡也消耗了很多电源。 所以在不使用时请勿将你的数据卡、网路卡等等继续插在插槽上。但不同的 PCMCIA 制造商有不同的设计,所以在买前请检查产品的规格 (例如,有些卡片就算他们没在使用也不会自已关掉使用电力的 )。
(题外话,最近我才明白对於使用 Windows CE 的掌上电脑来说,PCMCIA 卡是最大的问题-它们吃掉很大的电量,使得这些小机器的小电池必须在几分钟左右就要换新...)
使用简单的软体。一个动用许多资源的多媒体应用程式会占掉比一个简单文书处理程式更多的系统负载以及硬碟/光碟机的动作。
Grant Taylor 有个给想要升级系统的人一个小秘诀:`` 有些可升级的元件的新版本只需更少的电源消耗。比如说,IBM 的 Travelstar 2.5 □的 1.6 GB IDE 硬碟就比原本我使用的 500 MB Toshiba 硬碟少约 20% 的耗电量。 ''
如果您还没但正要买一台笔记电脑-如果电池使用时间长短很重要的话,请勿买一台有 L2 快取的机种。 一台有 L2 快取的电脑比没有的快约 10% 到 20%, 这对多媒体应用程式和大量数值运算来说是很好的,但是它会消耗很多电量。Bjoern Kriews 告诉我说他有两个一模一样的笔记电脑,没有快取记忆体的那台可跑 4 小时 30 分钟,而有快取的只肴 2 小时 30 分钟而已。
如果你已有 L2 快取内建了,把它关掉并不能有多少助益。不过试试看并请告诉我您的经验。
另外一个秘诀是买笔记电脑千万不要买最新、最快的 CPU 机种。 通常老一代的机种会被制造商渐渐最佳化。 往往 `` 新 '' 的旧 CPU 型号会比上一代的同产品产生更少的热量以及消耗更少的电源。
还有一些自找麻烦的笔记电脑它们使用了并不是对可携式系统最佳选择的 CPU。 在我写这份资料的 1997 年 5 月,最新一代的 pentium-200 笔记电脑的电池只能跑约 20 分钟, 而且产生的高温都可烧伤你的大腿了。 在 1997 年 10 月写这份文件的第 2 次改版时,pentium-233 笔记电脑在不使用交流电源的状态下可跑 2 个小时或更长的时间。想想吧。
好吧,你已知道这些点子。大部份这些都是限制这限制那的,也许已让你停止在你的 Linux 系统上做任何较重要的工作了。(最好的使用电池的省电方法是... 什麽都不要做算了。这样可以增加我的笔记电脑电池的使用时间到 100%。)
因此,让我们继续看其他更有用的方法在不打扰你的工作的状态下节省能源。
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
3. 先进能源管理 APM
大部份的可携式系统,或甚至很多桌上型电脑都有支援 APM,先进能源管理架构。 本章节在谈如何在你的 Linux 核心内启动 APM 的支援。 那些使用 Linux 很有经验的人可能会觉得本章节很无聊而想要跳到下一章节。
3.1 APM 能为你做什麽事?
我不想在这儿详细谈这个题目,请看看在 http://www.cs.utexas.edu/users/kharker/linux-laptop/apm.html 内的 Linux APM 驱动程式网页 有详细的资讯。你所需要知道的是,有了 APM 的协助,当没有啥麽事要做时 CPU 可以告诉 BIOS 来让 BIOS 掌控它自的节省能源措施,比如说继续动作时,bios 会自己负责部份的能源节省-例如,降低 CPU 时脉、关闭硬碟、关掉萤幕的背光等等。
Apm 还负责 `` 系统悬置 '' (或称 `` 睡觉 '') 模式以及 `` 悬置到磁碟 '' (或称 `` 冬眠 '') 模式。 另一很棒的特点,虽然并不是很重要,但因为 apm 的协助,shutdown -h 并不止会停止你的系统而且还会将它给关机哦!
(题外话, 大部份的 Linux 系统将 shutdown -r 放在它们的 /etc/inittab 内,用做对映到按到 control-alt-delete 组合键时动作。 我较喜欢将 shutdown -h 放在这儿, 所以当我们按了这个 CTL+ALT+DEL 组合键时,我的笔记电脑就只简单地将它自己关机。)
并不是所有的制造商设计了正确的 apm bios, 也因此有些笔记电脑在使用 Linux apm 驱动程式时会有些麻烦。(如果你的机器在使用 apm 时有问题,大部份会在 Linux 启动时或从悬置重返时会有锁住不动的情形 )。 如果你并不确定,请检视 Linux 笔记电脑网页中有关你的电脑型号的资料。
3.2 如何在 Linux 中启用 APM 支援功能?
非常简单-只需重新编译 Linux 核心程式。 如果你不知道如何做,请阅读 Kernel-HOWTO。
当建构手稿执行到 ``character devices'' 这个地方时, 在核心 2.0.30 版 (含 ) 以上对於完整的 apm bios 支援设定如下:
Advanced Power Management BIOS support: Yes
Ignore USER SUSPEND: No
Enable PM at boot time: Yes
Make CPU Idle calls when idle: Yes
Enable console blanking using APM: Yes
Power off on shutdown: Yes
请阅读建构手稿的辅助文件。□面有说到哪个选项是做啥麽用的细节,所以在这儿我就不再赘述了。
如果你的系统并没有完整地支援 apm bios 的标准,选项中有些项目可能会让你的系统当机。 你可测试所有的 apm 特点与新的核心的配合状况,这样即可确定是否所有应该有的都可正常工作了。
( * 备注 * 关於控制台变成空白: David Bateman 告诉我说, 在使用 XFree 3.2 版时千万不要将它打开: `` 它的症状是当 X 启动时整个萤幕会变成空白,通常只要按个键即可修理这个状况。 这是个很小但很讨人厌的问题。下一版的 XFree 将会对很多的笔记电脑的晶片有很好的 DPMS 支援, 其中应该包话关掉 LCD 的程式码。你可查查看在 XFree 3.2A 内有关於 xset 的 man 页。David 还说你的萤幕的背光之寿命完全取决於它被开关的次数多寡: `` 这就是电池寿命与萤幕背光寿命之间鱼与熊掌无法兼得的事了。'')
( 订正: 使用 XFree 3.3 时这个问题仍在我的笔记电脑上发生。有人告诉我以後的核心版本就会修正这个问题了。)
3.3 APM 支援以及 PCMCIA 驱动程式
在重新编译核心之後, 请勿忘记重新编译 Linux 的 pcmcia 驱动程式。
大部份随著 Linux 供应商版本所附的编译前的 pcmcia 驱动程式都把对於 apm 的支援给关闭,因此 bios 就无法叫你的介面卡将之关闭的。
另外,如果你升级了新的核心版本而你的旧核心是与模组版本资讯这项打开时被编译的 (这个选项可在核心建构的 ``loadable module support( 可载入模组支援'' 一章中找到 )。
请阅读 PCMCIA-HOWTO,□头有关於如何编译驱动程式的指引或是到 http://hyper.stanford.edu/HyperNews/get/pcmcia/home.html 的 Linux PCMCIA drivers homepage 网页中寻找。
3.4 apmd 套件
现在你已经安装了 APM 支援了,请到 Linux APM drivers page 网页中把 apmd 套件抓取下来。 你也许并不需要它,但是个好用程式的集结。apmd 精灵会记录你的电池的习性并且还会在电压低时跑出来警告你。apm 命令会使用一个 shell 命令来悬置你的系统,而 xapm 会显示出你的电池的状态。
(顺带一提, 如果你的 pcmcia 卡从悬置状态下回覆时有问题,你可以查看看另一个替代 apmd 套件的程式在 http://www.cut.de/bkr/linux/apmd/apmd.html 内。它会在系统悬置前把 pcmcia 驱动程式卸下,而在恢复时将这些模组重载入。)
Grant Taylor 玩了一阵子 apmd 套件, 他有一些有助益的小秘诀。
他发现他的笔记电脑的从悬置回复时, 硬碟会忘了它自已在 hdparm -S 的待命时间: `` 每次回复时我会修改 apmd 来重新设定这个设定。这也许是在特定系统上才会发生,但这麽做是很重要的......''
(备注: 在我的笔记电脑上,bios 负责硬碟的待命以及恢复原本的数据,所以我无法测试是否这个小问题是系统特定的。如果这个小问题你也遇到,请给我个讯息吧。 )
Grant 还有个很棒的小秘诀可使用 XFree86 套件 以及 apmd 套件的协助让萤幕变空白,你可以在那儿找到。
3.5 如果我的笔记电脑不支援 APM 的话?
如果你的电脑的 bios 并不支援任何的节省能源的设定 (就算是很旧型且没有 apm 支援的至少也可以设定可让硬碟以及萤幕做待命状态 ), 你可以使用 hdparm -S 来定义你的硬碟的待命时间。这样就很有帮助了,因为硬碟的动作是要花费许多电力的。 你的系统应该要安装 hdparm ,因此请使用 man hdparm 来读一读这个命令的语法。
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
4. 改变某些一般的系统设定
在我拿到 Linux 并在我的笔记电脑上安装、执行後, 我发觉它会每几秒就会存取一次硬碟,就算并没有任何的使用者签入系统内! 这就是硬碟可能就从没有进入它的能源省电模式。能够减少硬碟的动作的话就可以很明显地增加电池的使用时间,以下是我所□集的配方。
我使用 RedHat 4.1 测试了所有的方法,有些建构设定的地方可能会与你所使用的 Linux 供应版本不同。(如果真如此,请您让我知道。)
4.1 crond 精灵与 atrun精灵
请检查你的 /etc/crontab 档案看看是否它会在每分钟动作一次。你会看到 atrun 常会出现在□面。
使用 at 命令可以让你将未来要做的命令放在命令停待区内, 时间到了就会执行它们。 有些 Linux 系统使用自订的 atd 精□来做这个工作, 其他的 (例如 RedHat) 让 crond 精灵每分钟执行 atrun 一次。
大部份的系统上是否需如此做的, 因为 at 命令很少会依赖一定的时间内被执行, 因此如果你在你的 /etc/crontab 档案内发现下面这行:
# Run any at jobs every minute
* * * * * root [ -x /usr/sbin/atrun ] && /usr/sbin/atrun
你就可以安全地把它改成:
# Run any at jobs every hour
00 * * * * root [ -x /usr/sbin/atrun ] && /usr/sbin/atrun
细节请阅读 man 5 crontab。 有些人就算在没有执行 crond 精灵下还是可以动作,因此如果你知道你在做什麽,你可以考虑完全地把它给关闭掉。
4.2 update / bdflush 精灵
Linux 在任何时候都在处理著很多的已开启档案的缓冲区,来做系统很确认档案有任何改变时能够愈快存档愈好,不然等到系统当机时已做的改变就会不见了。
update / bdflush 精灵就是用来照顾这件时的。(这是同一个程式的两个名字, 因此你可以使用两个其中的一个名字来启动这个精灵。 ) 原来的设定会让这个精灵每 5 秒钟呼叫 flush 以及每 30 秒钟呼叫 sync 一次。
在我的 Fujitsu 富士通磁碟上会造成不停的存取。(好像这个硬碟就算跟本什麽也没改变的状况下会将它的记忆体快取给清除掉。但这要看你的硬碟的轫体: 有些朋友告诉我说就算没有做像下面那样的修改他们的硬碟还是可以进入本身的省电模式下。)
因为 Linux 并像以前那样常当机了, 我就将两个数值都改成为 3600 秒 (=1 小时 )。这样一点也不会造成任何问题,而且原本常会有的磁碟存取动作就停止了。 (但是如果我的系统现在当机了,当然一定会有许多破损的档案了。)
RedHat 4.1: 在 /etc/inittab 内,将 update 呼叫改成:
ud::once:/sbin/update -s 3600 -f 3600
Suse 4.4.1: update is called in /sbin/init.d/boot.
Slackware: update is called in /etc/rc.d/rc.S.
See man update for details.
4.3 syslogd 精灵
syslogd 精灵负责很多在 /var/log/ 目录内可找到的 Linux 系统日志档案。原定 syslogd 会在每次有系统讯息被记录时同步存到日志档案内。
你可以在 /etc/syslog.conf 内使用斜号 / 接在档案名称前将这个功能关闭。以下是我在我的系统内找到的 syslog.conf例子:
# Log anything (except mail) of level info or higher.
# Don't log PRivate authentication messages!
*.info;mail.none;authpriv.none -/var/log/messages
同样的,如果当系统当机时,问题讯息是不会被存到磁碟内的。Dilemma...
4.4 init 命令
在开机时, 初始时的处理程式以及精灵们是经由 init 命令来开始执行的。这个命令 (又是它 ) 在每次它所建立的处理程式前会呼叫 sync。
你可以在原始程式码中将这个 sync() 呼叫给移走,然後再重新编译它。
要避免发生档案缓冲遗失的问题,你应该在你的系统的 /etc/rc.d/init.d/halt 命令手稿内在卸下档案系统前加上对 sync 的呼叫。
4.5 swap 磁区
Linux swap 磁区是用来以虚拟记忆体的方式来增加实体记忆体的空间。 这也是硬碟会存取的可能原因。如果你的笔记电脑已经有许多动态记忆体 RAM 了或是你使用很简单的应用程式 (想到 vi), 您可以考虑把它给关闭。
这当然要看你打算做什麽。4 到 8 MB 并不足够,这时你该使用 swap 磁区。有 8 到 16 MB 时,文字画面式的应用程式可以很好地工作,如果你能避免使用太多的多工功能, 你可以安全地把 swap 功能给关掉。 X-Windows 环境需要很多的动态记忆体,你最好不要在没有 swap 下使用它,除非你有 16MB 以上。
(附注: 我那台有 16 MB 的笔记电脑在关闭 swap 磁区下可以执行一个 emacs 工作、 4 个 bash shells 还有编译一个核心都没有发生记忆体不够的情况。这对我来说就够了。)
如果你已经安装 swap 磁区了,你可以在 /etc/rc.d/rc.sysinit 内的 swapon 命令前加个 hash 符号即可把它给关闭。 如果你不想把它永远地移除,那就让系统在开机时问你是否要使用 swap 磁区。在 /etc/rc.d/rc.sysinit (RedHat 4.1) 或 /sbin/init.d/boot (Suse 4.4.1)□头:
echo "Should the system use swap?"
echo " 0: No."
echo " 1: Yes."
/bin/echo "Your choice: \c"
read SWAPCHOICE
case "$SWAPCHOICE" in
0)
# Do nothing.
echo "(Swap partitions disabled)"
;;
*)
# Start up swapping.
echo "Activating swap partitions"
swapon -a
esac
那麽你就可以在使用交流电源时开启 swap 磁区,而使用电池是就会关闭言这功能。
4.6 apache httpd 网页伺服器精灵
我使用我的笔记电脑来发展、测试给网站使用的 cgi 命令手稿, 这也就是为什麽我在它上面架了个区域网站的原因。如果你最想做的只是有时候用来测试一个命令手稿或是检查某个网页而已,那麽标准的建构似乎是太多了。
在 httpd.conf □,只要把 MinSpareServers 以及 StartServers 的值改成 1。 这对本地端的测试站已经很够了。
如果你想关闭网站伺服器的签入,你必须重新编译 httpd 精灵,细节请阅读文件。
Grant Taylor 重新编译了 apache 的签入後发觉这样子 `` 并不会让它停止 churning 磁碟。 所以我使用另一个, IMHO 比较好的解决方法: 我把 apache 建构成从 inetd 来执行取代原本由自己来。 '' 细节请阅读 man inetd。
4.7 XFree86 套件
为笔记电脑建构 XFree86 是另一个话题了, 再次,我必须请你参考 Linux 笔记电脑网页,在那儿你可以找到很多的协助
X 的控制台在空白时只会把萤幕变成黑色, 但并不是把它关掉。 就如同在 备注关於控制台变成空白 中提到的,你可以使用 xset 的 dpms 选项来改变它。然而,这项功能得看你的笔记电脑的绘图晶片以及 bios 了.
Grant Taylor 使用以下的设定以及 apmd 和萤幕保护程式的协助来传送使他的笔记电脑进入睡眠状态。
# Run xscreensaver with APM program
xscreensaver -timeout 5 \
-xrm xscreensaver.programs:apm_standby \
-xrm xscreensaver.colorPrograms:apm_standby &
这个 ``apm_standby 是个只允许特定人士来执行 apm -S 的 suid perl 手稿。''
4.8 emacs 编辑程式
好的, emacs 并非不是个编辑器, 但是个生活方式。 以下是由 Florent Chabaud 提供的密诀: `` 如果你使用 emacs,也许你已发现到这个编辑器会做自动存档的动作, 当然这很有用而且也 不该 把它关掉,但原本内定的参数可以被修改来针对笔记电脑的使用。
我在 /usr/share/emacs/site-lisp/site-start.el 档案内加入了下列几行:
(setq auto-save-interval 2500)
(setq auto-save-timeout nil)
这样可以关闭以时间为基准的自动存档功能,以改以每 2500 次键盘的动作时自动存档一次。当然,如果你正好在打一扁文件时,最後的那个参数应该把它减少,如果正在写程式那麽它已可满足需求了。因为每一个动作 (上、下、左、倒退、贴,等等......) 都列入计算, 2500 次按键盘会很快就到达的。''
4.9 如何找出更多最佳化的方法
如果你的 Linux 系统仍旧会常去存取硬碟, 你可以使用 ps ax 命令来看看内部到底是怎麽了。这会显示出所有正在执行的程式与它们的名称,有时候它们会秀出每个处理中的程式之命令列参数。
现在请阅读每个处理中的程式之 man 页来了解它们在做啥麽以及如何改变它的行为。用这个方法,你似乎可以找到大部份的处理中程式所负责的是什麽。你可能会发现 strace 是很有帮助的。
如果你发现有哪些新方法,请你发电子邮件给我。
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
5. 附录
5.1 给 Linux 供应商的讯息
如果你刚好是个 Linux 供应商,谢谢你读完这个文件。 笔记电脑现在已愈来愈受欢迎, 但到现在大部份的 Linux 供应商版程式集并没有好好地为可携式运算做好准备。请将这份文件放一旁并将您的供应程式集依这些方法做变更。
安装的步骤□应该包含有为笔记电脑所做的最佳化建构,``mimimal install( 最小安装 )'' 做的并不够好。还有很多东西对笔记电脑的使用者来说并不是需要的。 以下就是几个例子;我们并不需要三种不同版本的 vi (在 Suse Linux 中 )。 大部份的可携式系统并不需要列印支援 (它们从不会接上列表机,列印的工作通常都是在家□使用桌上系统时来做。) 译者按 : 并不尽然如此。有些笔记电脑一点也不需要任何的网路支援。
请不要忘记说明在笔记电脑上安装时特有的问题。例如,如何在没有光碟机时安装你的供应版本, 或是如果安装 plip 网路驱动程式。
增加更好的能源管理功能以及无缝的 pcmcia 支援到您的供应版上。增列一个已编译好的核心以及一个替代的有 apm 支援的 pcmcia 驱动程式来给使用者在需要时安装使用。 包含一个已编译好的 apmd 套件到你的供应版上。
增加对动态切换网路建构的支援。 大部份的 Linux 笔记电脑会在旅行间的不同地方使用不一样的网路设定 (例如,在家□使用、在办公室使用、在学校使用的网路 ) 都必须经常改变网路的识别名称。 在大部份的供应商的版本□改变 Linux 系统的网路识别名称是件很痛苦的事。
请您告诉我一声如果您的供应版本已对可携式运算做最佳化的支援,还有您加了哪些功能了。 本 HOWTO 文件的未来版本将会加上一个您可以大力广告您的供应版本对笔记电脑所做的特别功能。
5.2 感谢
有关於电池技术的资讯大部份来自 Michael Reiter 先生刊登在 ``c't Magazin fuer Computertechnik''[c't 电脑科技杂志 ] (Heise Verlag 德国汉诺威 ), 10/96 版, 第 204 页内的 ``Stromkonserve'' 这篇文件,已被允许摘录。您可拜访他们的网站,在 http://www.heise.de/。
下面所列的对本文章有贡献的朋友们:
Frithjof Anders
David Bateman
Florent Chabaud
Markus Gutschke
Kenneth E. Harker
Bjoern Kriews
R. Manmatha
Juergen Rink
Grant Taylor
James Youngman
5.3 关於这份文件
本文提到电池共计53次!
这份文章以及许多其他 HOWTO -大部份它们都非常有用的-您可在主要的 Linux 文件网站中找到最新的版本 http://sunsite.unc.edu/mdw/linux.html 或是到它的许多对映站中找到。
这篇文章大部份是在我搭乘德国铁路往返汉堡与汉诺威间时所写的。(新的 ice-2 车箱有给笔记电脑使用的插座哦! □!)。
伴随在耳边的嗡嗡声: ``...又上路了...''
译者按: 本译文可能有翻译不周延或错字之处,烦请发现错误地方的朋友来信到 linuxer.bbs@cis.nctu.edu.tw 给我,以做修正,谢谢您!
--------------------------------------------------------------------------------
译者: 谢昆中 HSIEH Kun-Chung, linuxer.bbs@cis.nctu.edu.tw
1997年12月21日
--------------------------------------------------------------------------------
本文件旨在描述如何以调整 Linux 系统的某些设定来减少系统的电源消耗。 这对那些使用可携式电脑系统的 Linux 使用者来说蛮有助益的。□面还有一些关於如何照顾您的电池的资讯。 如果你在桌上型电脑上使用 Linux ,也许你并不需要读这些。
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
1. 简介
``六岁(含)以上,装上电池的。''
1.1 在你发问前
本文件并不是谈如何在笔记电脑上安装 Linux 的, 而是谈如何在已安装了 Linux 系统的笔记电脑上最佳化 Linux。请阅读 Installation-HOWTO 或是你的供应商版本的手册中对於安装 Linux 的说明。
本文件并不是谈如何使用不断电系统, 也不是谈 powerd 精灵的, ( 虽然不断电系统是个大电池 )。有关这个主题,请阅读 UPS-HOWTO 有详细资料。
1.2 这份文件是关於哪些
现在已经有愈来愈多人拥有可携式电脑,而且也愈来愈多人在这种电脑上安装Linux了。
在一台笔记电脑上安装与使用 Linux 已经一点也没有问题了, 放手去做并试试吧。不像有些其他的作业系统,Linux 仍旧支援并可在非常旧的硬碟上跑的很好, 所以您也许可以安装 Linux 的方式来给您过时的可携式电脑一个重生的机会。
如果您在笔记电脑上安装 Linux 时需要协助或是如果您有关於笔记电脑硬体上的问题,您可查看看非常棒的 Linux 笔记电脑网页 在 http: //www.cs.utexas.edu/users/kharker/linux-laptop/ 在那儿你可找到很多有用的资讯和详细的协助。 这个 Linux 笔记电脑网页有介绍特定型号的笔记电脑及晶片组的硬体构建。
然而这份 HOWTO 将焦点集中在所有的可携式系统之共同问题: 电源消耗 。
到目前为止, 我还没看到有哪个 Linux 供应商版本原本就提供给笔记电脑做 最佳化 设定的。 由於我到处都找不到这方面的资讯,所以我就开始□集一些简单但有效的小秘诀来帮助我们来节省电池的电量,进而增加系统的使用时间。
(附注:我收到一位读者抱怨说这些小秘诀并没为他的笔记电脑增加什麽效率。因此,这些小秘诀真的都可行吗? 是的,但千万不要期望奇迹。我曾经把我的笔记电脑的电池使用时间从 90 分钟增加到超过 120 分钟哩。 )
1.3 地图
如果你是个笔记电脑使用专家, 你可以跳开不用看 一般资讯 这章。而您所真正想知道的可在 改变某些一般系统设定值 章找到。如果您是个 Linux 供应商,请阅读 给 Linux 供应商的一封信 。
1.4 回应
非常欢迎您的回应。请将您的建议寄到 hanno@lava.de。这些小秘诀在您的系统上可行吗? 您有新秘诀吗? 在这份文章□有过时的连结或位址吗?
非常抱谦,如果您有特定笔记电脑型号上所发生的问题,我没有办法帮助你。我并没说我是个笔记电脑先进,只是我自己有台笔记电脑,而我只是想要分享我所□集到资讯而已。 请您先查一下 Linux 笔记电脑网页,也许正好有人写了篇和您相同型号的网页了。关於技术支援请问您的制造商,或到笔记电脑新闻讨论群组 comp.sys.laptops □提问题。
译者按: 使用中文的朋友可在 tw.bbs.comp.notebook 或是在 tw.bbs.comp.hardware □提问题。
1.5 解除条款
所有在这儿提到的方法都经由我测试过,而且在我的笔记电脑上工作的很好,除非有特别提及。然而,我不能保证其中是否有哪个方法不会有误或严重地伤害您的系统。 生命是处在危险的,所在 " 玩 " 您的 Linux 建构前请先将您的重要档案备份起来。如果有哪个地方错了,我并不负责您的档案资料的任何损失。也就是说:请不要告我哦!拜托了,谢谢。
1.6 版权
本文件应该在标准 HOWTO 版权公告下被流通,您可在 http: //sunsite.unc.edu/mdw/linux.html 内的 HOWTO 目录内找到 。
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
2. 一般资讯
本章介绍一些关於笔记电脑电池技术的东西以及一般节省能源的小秘诀。这些资讯并不是特别针对 Linux 的。 所以,如果您有使用笔记电脑的经验,您可能已经知道这些了。
2.1 对您的电池好些
( 感谢对本章节中曾付出心力的朋友。)
目前有三种电池被用在可携式电脑上。
NiCd (镍镉 ) 电池已是多年的标准技术了,但是现在它们已经是过时的了,新的笔记电脑已不再使用了。它们很重而且有 `` 记忆效应 '' 的倾向。当再充电 NiCd 电池时当它并没有被完全放电时,它会 `` 记忆 '' 旧的充电量,下次你要使用它时就从那儿开始。
记忆效应的产生原因是电池内物质的结晶化,它会永久地减少您的电池的寿命,甚至让它变成没有用处。要防止这样,至少每几个星期就要有一次将电池完全放电後再充饱它。
(附注: 关於记忆效应。 James Youngman 知道一个很有趣的方法-嗯- `` 修理 '' 你的电池: `` 如果您的 NiCd 电池遭遇到记忆效应,请将它移出您的电脑,拿著它在桌上或地板上方 30 公分处,然後让它掉下。 (请确认它平著著地 )。 '' 他说这样会打断已在电池内所形成的小须须,那也就是造成记忆效应的原因,如果您的电池已经有这种现象了。 `` 我不晓得在非 NiCd 电池上这麽做是否也可以。'')
镉是个非常危险的毒素,但是如果把它交还给你买它的商人,这个物质是可以完全被循环使用的。
如果你感兴趣,下面是 NiCd 的某些规格:
单个电压: 1,2 V
电能 / 质量: 40 Wh/kg
电能 / 体积: 100 Wh/l
最大电能: 20 Wh
充电温度: 10 到 35 C (50 到 95 F)
放电温度: -20 到 50 C (-5 到 120 F)
储存温度.: 0 到 45 C (30 到 115 F)
NiMh (镍氢 ) 电池被用在现行较便宜的笔记电脑上的标准电池。它们可以被做得更小,而且比 NiCd 电池较不会产生记忆效应。
然而,它们在很高及很低的室温下会有问题。虽然它们使用较不会有危险及无毒物质, 它们尚无法被完全回收再生使用 (但是未来这也许会改变 )。
NiMh 的规格:
单个电压: 1,2 V
电能 / 质量: 55 Wh/kg
电能 / 体积: 160 Wh/l
最大电能: 35 Wh
充电温度: 10 到 35 C (50 到 95 F)
放电温度: 0 到 45 C (30 到 115 F)
储存温度: 0 到 30 C (30 到 85 F)
新的高效能电池使用 LiIon (锂 ) 电池技术。理论上,使用这类电池并不会有任何记忆效应,但有时候它们似乎也有这种问题。它们使用对环镜无害的物质,但它们最好还是被送回做再生。
LiIon的规格:
单个电压: 3,6 V
电能 / 质: 100 Wh/kg
电能 / 体: 230 Wh/l
最大电能: 60 Wh
充电温度: 0 到 45 C (30 到 115 F)
放电温度: -20 到 60 C (-5 到 140 F)
储存温度: -20 到 60 C (-5 到 140 F)
就算电池盒看起来很像,您还是无法只升级到其他的电池科技,因为每一种电池的充电的方法是不一样的。
有些制造商整合了充电电路到笔记电脑的外接交流电源供应器上,你只要买个新的电源供应器即可做升级了。好的辨别方法是,看看是否有个外接电源供应器。
有些制造商则将充电电路做在笔记电脑的外壳内,让使用者无法简单地将它换成新的技术。如果你的交流电源只使用两条线接到电脑上 (和我的一样 ) ,那麽充电器可能就放在笔记电脑内了。
如果有疑问,直接问厂商看看是否你的笔记电脑有支援较现代的电池。
有很久时间不被使用的电池也会自已慢慢地放电。就算您很用心地照顾它们,在充电 500 到 1000 次後就差不多要换新电池了。 还有,并不建议您在使用交流电源供应笔记电脑的电源时不装上电池-电池就像个大电容器一样保护免於经由交流电源所产生的突然电压高峰波动所产生的伤害。
由於制造商几乎每几个月就改装他们的电池的外型,从现在开始算的几年後你也许会面临为你的笔记电脑找个新电池的问题。买个□置的新电池吧!在它不在货架上前。
2.2 省电-明显的东西
这儿有几个明显地您可以做的事来减少你的系统的电源消耗。好吧,也许并不一明显吧,因为并没有很多人会照著这些规则来做...
在你不需要使用时, 调低或关掉你的萤幕的背光亮度。 另外,TFT 萤幕比 DSTN 的使用更多的电量 (你看, 现在你有为何你会买较便宜的笔记电脑的藉口了...)。
(David Bateman 告诉我,使用电池时外接个 CRT 萤幕并把笔记电脑的萤幕关掉的话可以延长原来的电池使用时间约 30%。` 虽然这并不是个很有用的小知识, 但既然你已经接上了一个 crt 萤幕,为什麽还要用笔记电脑的呢。'')
您到底需要多快的处理能力呢? 我很怀疑在路上时你会做比文书编辑还更多的工作。(好吧,那个时候我不会用来编译 linux 核心的 )。对电池来说,减低 CPU 时脉速度也会减少电源的消耗量。很少有笔记电脑有提供 CPU 时脉选择器来做正常或低速的切换的。
关掉 CPU 冷却器 (如果你有的话 )。 现在有许多笔记电脑在 BIOS 选项有个叫 ``Cooling control( 冷却控制 )'' 的。如果你的系统之 CPU 变热时,这个选项允许你让一个小型风扇来冷却它 (设定 ``performance'') 或是让 CPU 的时脉速度下降 (设定 ``silence'')。要增加您使用电池的时间,请使 ``silence'' 选项。
避免以电池供电时连接使用外接的装置 (印表机、crt 萤幕、zip 磁碟机、可携式相机等等。 )。当接上一个标准喷墨印表机时,我的笔记电脑的电池使用时间会从 120 分钟以上掉成 20 分钟而已。
除非必要否则不要使用任何内建的设备:软碟机、硬碟机、光碟机。特别是光碟机会加剧减少你的电池使用时间。
Pcmcia 卡也消耗了很多电源。 所以在不使用时请勿将你的数据卡、网路卡等等继续插在插槽上。但不同的 PCMCIA 制造商有不同的设计,所以在买前请检查产品的规格 (例如,有些卡片就算他们没在使用也不会自已关掉使用电力的 )。
(题外话,最近我才明白对於使用 Windows CE 的掌上电脑来说,PCMCIA 卡是最大的问题-它们吃掉很大的电量,使得这些小机器的小电池必须在几分钟左右就要换新...)
使用简单的软体。一个动用许多资源的多媒体应用程式会占掉比一个简单文书处理程式更多的系统负载以及硬碟/光碟机的动作。
Grant Taylor 有个给想要升级系统的人一个小秘诀:`` 有些可升级的元件的新版本只需更少的电源消耗。比如说,IBM 的 Travelstar 2.5 □的 1.6 GB IDE 硬碟就比原本我使用的 500 MB Toshiba 硬碟少约 20% 的耗电量。 ''
如果您还没但正要买一台笔记电脑-如果电池使用时间长短很重要的话,请勿买一台有 L2 快取的机种。 一台有 L2 快取的电脑比没有的快约 10% 到 20%, 这对多媒体应用程式和大量数值运算来说是很好的,但是它会消耗很多电量。Bjoern Kriews 告诉我说他有两个一模一样的笔记电脑,没有快取记忆体的那台可跑 4 小时 30 分钟,而有快取的只肴 2 小时 30 分钟而已。
如果你已有 L2 快取内建了,把它关掉并不能有多少助益。不过试试看并请告诉我您的经验。
另外一个秘诀是买笔记电脑千万不要买最新、最快的 CPU 机种。 通常老一代的机种会被制造商渐渐最佳化。 往往 `` 新 '' 的旧 CPU 型号会比上一代的同产品产生更少的热量以及消耗更少的电源。
还有一些自找麻烦的笔记电脑它们使用了并不是对可携式系统最佳选择的 CPU。 在我写这份资料的 1997 年 5 月,最新一代的 pentium-200 笔记电脑的电池只能跑约 20 分钟, 而且产生的高温都可烧伤你的大腿了。 在 1997 年 10 月写这份文件的第 2 次改版时,pentium-233 笔记电脑在不使用交流电源的状态下可跑 2 个小时或更长的时间。想想吧。
好吧,你已知道这些点子。大部份这些都是限制这限制那的,也许已让你停止在你的 Linux 系统上做任何较重要的工作了。(最好的使用电池的省电方法是... 什麽都不要做算了。这样可以增加我的笔记电脑电池的使用时间到 100%。)
因此,让我们继续看其他更有用的方法在不打扰你的工作的状态下节省能源。
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
3. 先进能源管理 APM
大部份的可携式系统,或甚至很多桌上型电脑都有支援 APM,先进能源管理架构。 本章节在谈如何在你的 Linux 核心内启动 APM 的支援。 那些使用 Linux 很有经验的人可能会觉得本章节很无聊而想要跳到下一章节。
3.1 APM 能为你做什麽事?
我不想在这儿详细谈这个题目,请看看在 http://www.cs.utexas.edu/users/kharker/linux-laptop/apm.html 内的 Linux APM 驱动程式网页 有详细的资讯。你所需要知道的是,有了 APM 的协助,当没有啥麽事要做时 CPU 可以告诉 BIOS 来让 BIOS 掌控它自的节省能源措施,比如说继续动作时,bios 会自己负责部份的能源节省-例如,降低 CPU 时脉、关闭硬碟、关掉萤幕的背光等等。
Apm 还负责 `` 系统悬置 '' (或称 `` 睡觉 '') 模式以及 `` 悬置到磁碟 '' (或称 `` 冬眠 '') 模式。 另一很棒的特点,虽然并不是很重要,但因为 apm 的协助,shutdown -h 并不止会停止你的系统而且还会将它给关机哦!
(题外话, 大部份的 Linux 系统将 shutdown -r 放在它们的 /etc/inittab 内,用做对映到按到 control-alt-delete 组合键时动作。 我较喜欢将 shutdown -h 放在这儿, 所以当我们按了这个 CTL+ALT+DEL 组合键时,我的笔记电脑就只简单地将它自己关机。)
并不是所有的制造商设计了正确的 apm bios, 也因此有些笔记电脑在使用 Linux apm 驱动程式时会有些麻烦。(如果你的机器在使用 apm 时有问题,大部份会在 Linux 启动时或从悬置重返时会有锁住不动的情形 )。 如果你并不确定,请检视 Linux 笔记电脑网页中有关你的电脑型号的资料。
3.2 如何在 Linux 中启用 APM 支援功能?
非常简单-只需重新编译 Linux 核心程式。 如果你不知道如何做,请阅读 Kernel-HOWTO。
当建构手稿执行到 ``character devices'' 这个地方时, 在核心 2.0.30 版 (含 ) 以上对於完整的 apm bios 支援设定如下:
Advanced Power Management BIOS support: Yes
Ignore USER SUSPEND: No
Enable PM at boot time: Yes
Make CPU Idle calls when idle: Yes
Enable console blanking using APM: Yes
Power off on shutdown: Yes
请阅读建构手稿的辅助文件。□面有说到哪个选项是做啥麽用的细节,所以在这儿我就不再赘述了。
如果你的系统并没有完整地支援 apm bios 的标准,选项中有些项目可能会让你的系统当机。 你可测试所有的 apm 特点与新的核心的配合状况,这样即可确定是否所有应该有的都可正常工作了。
( * 备注 * 关於控制台变成空白: David Bateman 告诉我说, 在使用 XFree 3.2 版时千万不要将它打开: `` 它的症状是当 X 启动时整个萤幕会变成空白,通常只要按个键即可修理这个状况。 这是个很小但很讨人厌的问题。下一版的 XFree 将会对很多的笔记电脑的晶片有很好的 DPMS 支援, 其中应该包话关掉 LCD 的程式码。你可查查看在 XFree 3.2A 内有关於 xset 的 man 页。David 还说你的萤幕的背光之寿命完全取决於它被开关的次数多寡: `` 这就是电池寿命与萤幕背光寿命之间鱼与熊掌无法兼得的事了。'')
( 订正: 使用 XFree 3.3 时这个问题仍在我的笔记电脑上发生。有人告诉我以後的核心版本就会修正这个问题了。)
3.3 APM 支援以及 PCMCIA 驱动程式
在重新编译核心之後, 请勿忘记重新编译 Linux 的 pcmcia 驱动程式。
大部份随著 Linux 供应商版本所附的编译前的 pcmcia 驱动程式都把对於 apm 的支援给关闭,因此 bios 就无法叫你的介面卡将之关闭的。
另外,如果你升级了新的核心版本而你的旧核心是与模组版本资讯这项打开时被编译的 (这个选项可在核心建构的 ``loadable module support( 可载入模组支援'' 一章中找到 )。
请阅读 PCMCIA-HOWTO,□头有关於如何编译驱动程式的指引或是到 http://hyper.stanford.edu/HyperNews/get/pcmcia/home.html 的 Linux PCMCIA drivers homepage 网页中寻找。
3.4 apmd 套件
现在你已经安装了 APM 支援了,请到 Linux APM drivers page 网页中把 apmd 套件抓取下来。 你也许并不需要它,但是个好用程式的集结。apmd 精灵会记录你的电池的习性并且还会在电压低时跑出来警告你。apm 命令会使用一个 shell 命令来悬置你的系统,而 xapm 会显示出你的电池的状态。
(顺带一提, 如果你的 pcmcia 卡从悬置状态下回覆时有问题,你可以查看看另一个替代 apmd 套件的程式在 http://www.cut.de/bkr/linux/apmd/apmd.html 内。它会在系统悬置前把 pcmcia 驱动程式卸下,而在恢复时将这些模组重载入。)
Grant Taylor 玩了一阵子 apmd 套件, 他有一些有助益的小秘诀。
他发现他的笔记电脑的从悬置回复时, 硬碟会忘了它自已在 hdparm -S 的待命时间: `` 每次回复时我会修改 apmd 来重新设定这个设定。这也许是在特定系统上才会发生,但这麽做是很重要的......''
(备注: 在我的笔记电脑上,bios 负责硬碟的待命以及恢复原本的数据,所以我无法测试是否这个小问题是系统特定的。如果这个小问题你也遇到,请给我个讯息吧。 )
Grant 还有个很棒的小秘诀可使用 XFree86 套件 以及 apmd 套件的协助让萤幕变空白,你可以在那儿找到。
3.5 如果我的笔记电脑不支援 APM 的话?
如果你的电脑的 bios 并不支援任何的节省能源的设定 (就算是很旧型且没有 apm 支援的至少也可以设定可让硬碟以及萤幕做待命状态 ), 你可以使用 hdparm -S 来定义你的硬碟的待命时间。这样就很有帮助了,因为硬碟的动作是要花费许多电力的。 你的系统应该要安装 hdparm ,因此请使用 man hdparm 来读一读这个命令的语法。
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
4. 改变某些一般的系统设定
在我拿到 Linux 并在我的笔记电脑上安装、执行後, 我发觉它会每几秒就会存取一次硬碟,就算并没有任何的使用者签入系统内! 这就是硬碟可能就从没有进入它的能源省电模式。能够减少硬碟的动作的话就可以很明显地增加电池的使用时间,以下是我所□集的配方。
我使用 RedHat 4.1 测试了所有的方法,有些建构设定的地方可能会与你所使用的 Linux 供应版本不同。(如果真如此,请您让我知道。)
4.1 crond 精灵与 atrun精灵
请检查你的 /etc/crontab 档案看看是否它会在每分钟动作一次。你会看到 atrun 常会出现在□面。
使用 at 命令可以让你将未来要做的命令放在命令停待区内, 时间到了就会执行它们。 有些 Linux 系统使用自订的 atd 精□来做这个工作, 其他的 (例如 RedHat) 让 crond 精灵每分钟执行 atrun 一次。
大部份的系统上是否需如此做的, 因为 at 命令很少会依赖一定的时间内被执行, 因此如果你在你的 /etc/crontab 档案内发现下面这行:
# Run any at jobs every minute
* * * * * root [ -x /usr/sbin/atrun ] && /usr/sbin/atrun
你就可以安全地把它改成:
# Run any at jobs every hour
00 * * * * root [ -x /usr/sbin/atrun ] && /usr/sbin/atrun
细节请阅读 man 5 crontab。 有些人就算在没有执行 crond 精灵下还是可以动作,因此如果你知道你在做什麽,你可以考虑完全地把它给关闭掉。
4.2 update / bdflush 精灵
Linux 在任何时候都在处理著很多的已开启档案的缓冲区,来做系统很确认档案有任何改变时能够愈快存档愈好,不然等到系统当机时已做的改变就会不见了。
update / bdflush 精灵就是用来照顾这件时的。(这是同一个程式的两个名字, 因此你可以使用两个其中的一个名字来启动这个精灵。 ) 原来的设定会让这个精灵每 5 秒钟呼叫 flush 以及每 30 秒钟呼叫 sync 一次。
在我的 Fujitsu 富士通磁碟上会造成不停的存取。(好像这个硬碟就算跟本什麽也没改变的状况下会将它的记忆体快取给清除掉。但这要看你的硬碟的轫体: 有些朋友告诉我说就算没有做像下面那样的修改他们的硬碟还是可以进入本身的省电模式下。)
因为 Linux 并像以前那样常当机了, 我就将两个数值都改成为 3600 秒 (=1 小时 )。这样一点也不会造成任何问题,而且原本常会有的磁碟存取动作就停止了。 (但是如果我的系统现在当机了,当然一定会有许多破损的档案了。)
RedHat 4.1: 在 /etc/inittab 内,将 update 呼叫改成:
ud::once:/sbin/update -s 3600 -f 3600
Suse 4.4.1: update is called in /sbin/init.d/boot.
Slackware: update is called in /etc/rc.d/rc.S.
See man update for details.
4.3 syslogd 精灵
syslogd 精灵负责很多在 /var/log/ 目录内可找到的 Linux 系统日志档案。原定 syslogd 会在每次有系统讯息被记录时同步存到日志档案内。
你可以在 /etc/syslog.conf 内使用斜号 / 接在档案名称前将这个功能关闭。以下是我在我的系统内找到的 syslog.conf例子:
# Log anything (except mail) of level info or higher.
# Don't log PRivate authentication messages!
*.info;mail.none;authpriv.none -/var/log/messages
同样的,如果当系统当机时,问题讯息是不会被存到磁碟内的。Dilemma...
4.4 init 命令
在开机时, 初始时的处理程式以及精灵们是经由 init 命令来开始执行的。这个命令 (又是它 ) 在每次它所建立的处理程式前会呼叫 sync。
你可以在原始程式码中将这个 sync() 呼叫给移走,然後再重新编译它。
要避免发生档案缓冲遗失的问题,你应该在你的系统的 /etc/rc.d/init.d/halt 命令手稿内在卸下档案系统前加上对 sync 的呼叫。
4.5 swap 磁区
Linux swap 磁区是用来以虚拟记忆体的方式来增加实体记忆体的空间。 这也是硬碟会存取的可能原因。如果你的笔记电脑已经有许多动态记忆体 RAM 了或是你使用很简单的应用程式 (想到 vi), 您可以考虑把它给关闭。
这当然要看你打算做什麽。4 到 8 MB 并不足够,这时你该使用 swap 磁区。有 8 到 16 MB 时,文字画面式的应用程式可以很好地工作,如果你能避免使用太多的多工功能, 你可以安全地把 swap 功能给关掉。 X-Windows 环境需要很多的动态记忆体,你最好不要在没有 swap 下使用它,除非你有 16MB 以上。
(附注: 我那台有 16 MB 的笔记电脑在关闭 swap 磁区下可以执行一个 emacs 工作、 4 个 bash shells 还有编译一个核心都没有发生记忆体不够的情况。这对我来说就够了。)
如果你已经安装 swap 磁区了,你可以在 /etc/rc.d/rc.sysinit 内的 swapon 命令前加个 hash 符号即可把它给关闭。 如果你不想把它永远地移除,那就让系统在开机时问你是否要使用 swap 磁区。在 /etc/rc.d/rc.sysinit (RedHat 4.1) 或 /sbin/init.d/boot (Suse 4.4.1)□头:
echo "Should the system use swap?"
echo " 0: No."
echo " 1: Yes."
/bin/echo "Your choice: \c"
read SWAPCHOICE
case "$SWAPCHOICE" in
0)
# Do nothing.
echo "(Swap partitions disabled)"
;;
*)
# Start up swapping.
echo "Activating swap partitions"
swapon -a
esac
那麽你就可以在使用交流电源时开启 swap 磁区,而使用电池是就会关闭言这功能。
4.6 apache httpd 网页伺服器精灵
我使用我的笔记电脑来发展、测试给网站使用的 cgi 命令手稿, 这也就是为什麽我在它上面架了个区域网站的原因。如果你最想做的只是有时候用来测试一个命令手稿或是检查某个网页而已,那麽标准的建构似乎是太多了。
在 httpd.conf □,只要把 MinSpareServers 以及 StartServers 的值改成 1。 这对本地端的测试站已经很够了。
如果你想关闭网站伺服器的签入,你必须重新编译 httpd 精灵,细节请阅读文件。
Grant Taylor 重新编译了 apache 的签入後发觉这样子 `` 并不会让它停止 churning 磁碟。 所以我使用另一个, IMHO 比较好的解决方法: 我把 apache 建构成从 inetd 来执行取代原本由自己来。 '' 细节请阅读 man inetd。
4.7 XFree86 套件
为笔记电脑建构 XFree86 是另一个话题了, 再次,我必须请你参考 Linux 笔记电脑网页,在那儿你可以找到很多的协助
X 的控制台在空白时只会把萤幕变成黑色, 但并不是把它关掉。 就如同在 备注关於控制台变成空白 中提到的,你可以使用 xset 的 dpms 选项来改变它。然而,这项功能得看你的笔记电脑的绘图晶片以及 bios 了.
Grant Taylor 使用以下的设定以及 apmd 和萤幕保护程式的协助来传送使他的笔记电脑进入睡眠状态。
# Run xscreensaver with APM program
xscreensaver -timeout 5 \
-xrm xscreensaver.programs:apm_standby \
-xrm xscreensaver.colorPrograms:apm_standby &
这个 ``apm_standby 是个只允许特定人士来执行 apm -S 的 suid perl 手稿。''
4.8 emacs 编辑程式
好的, emacs 并非不是个编辑器, 但是个生活方式。 以下是由 Florent Chabaud 提供的密诀: `` 如果你使用 emacs,也许你已发现到这个编辑器会做自动存档的动作, 当然这很有用而且也 不该 把它关掉,但原本内定的参数可以被修改来针对笔记电脑的使用。
我在 /usr/share/emacs/site-lisp/site-start.el 档案内加入了下列几行:
(setq auto-save-interval 2500)
(setq auto-save-timeout nil)
这样可以关闭以时间为基准的自动存档功能,以改以每 2500 次键盘的动作时自动存档一次。当然,如果你正好在打一扁文件时,最後的那个参数应该把它减少,如果正在写程式那麽它已可满足需求了。因为每一个动作 (上、下、左、倒退、贴,等等......) 都列入计算, 2500 次按键盘会很快就到达的。''
4.9 如何找出更多最佳化的方法
如果你的 Linux 系统仍旧会常去存取硬碟, 你可以使用 ps ax 命令来看看内部到底是怎麽了。这会显示出所有正在执行的程式与它们的名称,有时候它们会秀出每个处理中的程式之命令列参数。
现在请阅读每个处理中的程式之 man 页来了解它们在做啥麽以及如何改变它的行为。用这个方法,你似乎可以找到大部份的处理中程式所负责的是什麽。你可能会发现 strace 是很有帮助的。
如果你发现有哪些新方法,请你发电子邮件给我。
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
5. 附录
5.1 给 Linux 供应商的讯息
如果你刚好是个 Linux 供应商,谢谢你读完这个文件。 笔记电脑现在已愈来愈受欢迎, 但到现在大部份的 Linux 供应商版程式集并没有好好地为可携式运算做好准备。请将这份文件放一旁并将您的供应程式集依这些方法做变更。
安装的步骤□应该包含有为笔记电脑所做的最佳化建构,``mimimal install( 最小安装 )'' 做的并不够好。还有很多东西对笔记电脑的使用者来说并不是需要的。 以下就是几个例子;我们并不需要三种不同版本的 vi (在 Suse Linux 中 )。 大部份的可携式系统并不需要列印支援 (它们从不会接上列表机,列印的工作通常都是在家□使用桌上系统时来做。) 译者按 : 并不尽然如此。有些笔记电脑一点也不需要任何的网路支援。
请不要忘记说明在笔记电脑上安装时特有的问题。例如,如何在没有光碟机时安装你的供应版本, 或是如果安装 plip 网路驱动程式。
增加更好的能源管理功能以及无缝的 pcmcia 支援到您的供应版上。增列一个已编译好的核心以及一个替代的有 apm 支援的 pcmcia 驱动程式来给使用者在需要时安装使用。 包含一个已编译好的 apmd 套件到你的供应版上。
增加对动态切换网路建构的支援。 大部份的 Linux 笔记电脑会在旅行间的不同地方使用不一样的网路设定 (例如,在家□使用、在办公室使用、在学校使用的网路 ) 都必须经常改变网路的识别名称。 在大部份的供应商的版本□改变 Linux 系统的网路识别名称是件很痛苦的事。
请您告诉我一声如果您的供应版本已对可携式运算做最佳化的支援,还有您加了哪些功能了。 本 HOWTO 文件的未来版本将会加上一个您可以大力广告您的供应版本对笔记电脑所做的特别功能。
5.2 感谢
有关於电池技术的资讯大部份来自 Michael Reiter 先生刊登在 ``c't Magazin fuer Computertechnik''[c't 电脑科技杂志 ] (Heise Verlag 德国汉诺威 ), 10/96 版, 第 204 页内的 ``Stromkonserve'' 这篇文件,已被允许摘录。您可拜访他们的网站,在 http://www.heise.de/。
下面所列的对本文章有贡献的朋友们:
Frithjof Anders
David Bateman
Florent Chabaud
Markus Gutschke
Kenneth E. Harker
Bjoern Kriews
R. Manmatha
Juergen Rink
Grant Taylor
James Youngman
5.3 关於这份文件
本文提到电池共计53次!
这份文章以及许多其他 HOWTO -大部份它们都非常有用的-您可在主要的 Linux 文件网站中找到最新的版本 http://sunsite.unc.edu/mdw/linux.html 或是到它的许多对映站中找到。
这篇文章大部份是在我搭乘德国铁路往返汉堡与汉诺威间时所写的。(新的 ice-2 车箱有给笔记电脑使用的插座哦! □!)。
伴随在耳边的嗡嗡声: ``...又上路了...''
译者按: 本译文可能有翻译不周延或错字之处,烦请发现错误地方的朋友来信到 linuxer.bbs@cis.nctu.edu.tw 给我,以做修正,谢谢您!
--------------------------------------------------------------------------------
更多精彩
赞助商链接