使用電池供電的 Linux Mini-HOWTO (迷你HOWTO)
                                       
作者: Hanno Mueller, [1]hanno@lava.de [2]http://www.lava.de/~hanno/
譯者: 謝崑中 HSIEH Kun-Chung, 台灣 中華民國 Taiwan, Republic of China (not
People's Republic of China) [3]linuxer.bbs@cis.nctu.edu.tw

   1997年12月21日
     _________________________________________________________________
   
   本文件旨在描述如何以調整 Linux 系統的某些設定來減少系統的電源消耗。 這
   對那些使用可攜式電腦系統的 Linux 使用者來說蠻有助益的。裏面還有一些關於
   如何照顧您的電池的資訊。 如果你在桌上型電腦上使用 Linux ,也許你並不需
   要讀這些。
     _________________________________________________________________
   
1. 簡介

     * 1.1 在你發問前
     * 1.2 這份文件是關於哪些
     * 1.3 地圖
     * 1.4 回應
     * 1.5 解除條款
     * 1.6 版權
       
2. 一般資訊

     * 2.1 對您的電池好些
     * 2.2 省電-明顯的東西
       
3. 先進能源管理 APM

     * 3.1 APM 能為你做什麼事?
     * 3.2 如何在 Linux 中啟用 APM 支援功能?
     * 3.3 APM 支援以及 PCMCIA 驅動程式 
     * 3.4 apmd 套件
     * 3.5 如果我的筆記電腦不支援 APM 的話?
       
4. 改變某些一般的系統設定 

     * 4.1 crond 精靈與 atrun精靈
     * 4.2 update / bdflush 精靈
     * 4.3 syslogd 精靈
     * 4.4 init 命令
     * 4.5 swap 磁區
     * 4.6 apache httpd 網頁伺服器精靈 
     * 4.7 XFree86 套件
     * 4.8 emacs 編輯程式
     * 4.9 如何找出更多最佳化的方法
       
5. 附錄

     * 5.1 給 Linux 供應商的訊息 
     * 5.2 感謝
     * 5.3 關於這份文件
     _________________________________________________________________
   
1. 簡介

   ``六歲(含)以上,裝上電池的。''
   
1.1 在你發問前

   本文件並不是談如何在筆記電腦上安裝 Linux 的, 而是談如何在已安裝了
   Linux 系統的筆記電腦上最佳化 Linux。請閱讀 Installation-HOWTO 或是你的
   供應商版本的手冊中對於安裝 Linux 的說明。
   
   本文件並不是談如何使用不斷電系統, 也不是談 powerd 精靈的, ( 雖然不斷
   電系統是個大電池 )。有關這個主題,請閱讀 UPS-HOWTO 有 詳細資料。
   
1.2 這份文件是關於哪些

   現在已經有愈來愈多人擁有可攜式電腦,而且也愈來愈多人在這種電腦上安
   裝Linux了。
   
   在一台筆記電腦上安裝與使用 Linux 已經一點也沒有問題了, 放手去做並 試試
   吧。不像有些其他的作業系統,Linux 仍舊支援並可在非常舊的硬碟上 跑的很好
   , 所以您也許可以安裝 Linux 的方式來給您過時的可攜式電腦一 個重生的機會
   。
   
   如果您在筆記電腦上安裝 Linux 時需要協助或是如果您有關於筆記電腦硬 體上
   的問題,您可查看看非常棒的 Linux 筆記電腦網頁 在 [4]http:
   //www.cs.utexas.edu/users/kharker/linux-laptop/ 在那兒你可找到很多有用
   的資訊和詳細的協助。 這個 Linux 筆記電腦網頁 有介紹特定型號的筆記電腦及
   晶片組的硬體構建。
   
   然而這份 HOWTO 將焦點集中在所有的可攜式系統之共同問題: 電源消 耗 。
   
   到目前為止, 我還沒看到有哪個 Linux 供應商版本原本就提供給筆記電腦 做 
   最佳化 設定的。 由於我到處都找不到這方面的資訊,所以我就 開始蒐集一些簡
   單但有效的小秘訣來幫助我們來節省電池的電量,進而增加 系統的使用時間。
   
   (附註:我收到一位讀者抱怨說這些小秘訣並沒為他的筆記電腦增加什麼效 率。因
   此,這些小秘訣真的都可行嗎? 是的,但千萬不要期望奇蹟。我曾經 把我的筆記
   電腦的電池使用時間從 90 分鐘增加到超過 120 分鐘哩。 )
   
1.3 地圖

   如果你是個筆記電腦使用專家, 你可以跳開不用看 [5]一般資訊 這章。而您所
   真正想知道的可在 [6]改變某些一般系統設定值 章找到。如果您是 個 Linux 供
   應商,請閱讀 [7]給 Linux 供應商的一封信 。
   
1.4 回應

   非常歡迎您的回應。請將您的建議寄到 [8]hanno@lava.de。這些小秘訣在您的系
   統上可行嗎? 您有新秘 訣嗎? 在這份文章裏有過時的連結或位址嗎?
   
   非常抱謙,如果您有特定筆記電腦型號上所發生的問題,我沒有辦法幫助你 。我
   並沒說我是個筆記電腦先進,只是我自己有台筆記電腦,而我只是想要 分享我所
   蒐集到資訊而已。 請您先查一下 Linux 筆記電腦網頁,也許正好 有人寫了篇和
   您相同型號的網頁了。關於技術支援請問您的製造商,或到筆 記電腦新聞討論群
   組 [9]comp.sys.laptops 裏提問題。
   
   譯者按: 使用中文的朋友可在 [10]tw.bbs.comp.notebook 或是在
   [11]tw.bbs.comp.hardware 裏提問題。
   
1.5 解除條款

   所有在這兒提到的方法都經由我測試過,而且在我的筆記電腦上工作的很好 ,除
   非有特別提及。然而,我不能保証其中是否有哪個方法不會有誤或嚴重 地傷害您
   的系統。 生命是處在危險的,所在 " 玩 " 您的 Linux 建構前請 先將您的重要
   檔案備份起來。如果有哪個地方錯了,我並不負責您的檔案資 料的任何損失。也
   就是說:請不要告我哦!拜託了,謝謝。
   
1.6 版權

   本文件應該在標準 HOWTO 版權公告下被流通,您可在 [12]http:
   //sunsite.unc.edu/mdw/linux.html 內的 HOWTO 目錄內找到 。
   
2. 一般資訊

   本章介紹一些關於筆記電腦電池技術的東西以及一般節省能源的小秘訣。這 些資
   訊並不是特別針對 Linux 的。 所以,如果您有使用筆記電腦的經驗, 您可能已
   經知道這些了。
   
2.1 對您的電池好些

   ( [13]感謝對本章節中曾付出心力的朋友。)
   
   目前有三種電池被用在可攜式電腦上。
   
     * 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 能為你做什麼事?

   我不想在這兒詳細談這個題目,請看看在
   [14]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,裏頭有關於如何編譯驅動程式的指引或是到
   [15]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 套件的程式在
   [16]http://www.cut.de/bkr/linux/apmd/apmd.html 內。它會在系統懸置前把
   pcmcia 驅動程式卸下,而在恢復時將這些模組重 載入。)
   
   Grant Taylor 玩了一陣子 apmd 套件, 他有一些有助益的小秘訣。
   
   他發現他的筆記電腦的從懸置回復時, 硬碟會忘了它自已在 hdparm -S 的待命
   時間: `` 每次回復時我會修改 apmd 來重新設定這個設定 。這也許是在特定系
   統上才會發生,但這麼做是很重要的......''
   
   (備註: 在我的筆記電腦上,bios 負責硬碟的待命以及恢復原本的數據,所 以我
   無法測試是否這個小問題是系統特定的。如果這個小問題你也遇到,請 給我個訊
   息吧。 )
   
   Grant 還有個很棒的小秘訣可使用 [17]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 的控制台在空白時只會把螢幕變成黑色, 但並不是把它關掉。 就如同在
   [18]備註關於控制台變成空白 中提到的,你可以使用 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'' 這篇文件,已
       被允許摘錄。您可拜訪他們的網站,在 [19]http://www.heise.de/。
     * 下面所列的對本文章有貢獻的朋友們:
       
Frithjof Anders <anders@goethe.ucdavis.edu>
David Bateman <dbateman@ee.uts.edu.au>
Florent Chabaud <chabaud@celar.fr>
Markus Gutschke <gutschk@uni-muenster.de>
Kenneth E. Harker <kharker@cs.utexas.edu>
Bjoern Kriews <bkr@rrz.uni-hamburg.de>
R. Manmatha <manmatha@bendigo.cs.umass.edu>
Juergen Rink <jr@ct.heise.de>
Grant Taylor <gtaylor@picante.com>
James Youngman <JYoungman@vggas.com>

5.3 關於這份文件

   本文提到電池共計53次!
   
   這份文章以及許多其他 HOWTO -大部份它們都非常有用的-您可在主要的
   Linux 文件網站中找到最新的版本
   [20]http://sunsite.unc.edu/mdw/linux.html 或是到它的許多 對映站中找到。
   
   這篇文章大部份是在我搭乘德國鐵路往返漢堡與漢諾威間時所寫的。(新的
   ice-2 車箱有給筆記電腦使用的插座哦! 囋!)。
   
   伴隨在耳邊的嗡嗡聲: ``...又上路了...''
   
   譯者按: 本譯文可能有翻譯不周延或錯字之處,煩請發現錯誤地方的朋友來 信到
   [21]linuxer.bbs@cis.nctu.edu.tw 給我,以做修正,謝謝您!

References

   1. mailto:hanno@lava.de
   2. http://www.lava.de/~hanno/
   3. mailto:linuxer.bbs@cis.nctu.edu.tw
   4. http://www.cs.utexas.edu/users/kharker/linux-laptop/
   5. file://localhost/tmp/zh-sgmltools.23157/Battery-Powered.txt.html#GeneralInformation
   6. file://localhost/tmp/zh-sgmltools.23157/Battery-Powered.txt.html#Changingsomegeneralsystemsettings
   7. file://localhost/tmp/zh-sgmltools.23157/Battery-Powered.txt.html#AmessagetoLinuxdistributors
   8. mailto:hanno@lava.de
   9. news:comp.sys.laptops
  10. news:tw.bbs.comp.notebook
  11. news:tw.bbs.comp.hardware
  12. http://sunsite.unc.edu/mdw/linux.html
  13. file://localhost/tmp/zh-sgmltools.23157/Battery-Powered.txt.html#credits
  14. http://www.cs.utexas.edu/users/kharker/linux-laptop/apm.html
  15. http://hyper.stanford.edu/HyperNews/get/pcmcia/home.html
  16. http://www.cut.de/bkr/linux/apmd/apmd.html
  17. file://localhost/tmp/zh-sgmltools.23157/Battery-Powered.txt.html#TheXFree86package
  18. file://localhost/tmp/zh-sgmltools.23157/Battery-Powered.txt.html#sidenoteaboutconsoleblanking
  19. http://www.heise.de/
  20. http://sunsite.unc.edu/mdw/linux.html
  21. mailto:linuxer.bbs@cis.nctu.edu.tw