Linux操作系统笔记本电池使用技巧

随着Linux操作系统影响的逐步深入 , 许多的Linux使用者希望能够在自己的笔记本电脑上运行Linux操作系统 , 以便时使用它 。
我的笔记本是1年多前购买的紫光V610D笔记本 , 配置如下:CPU为低电压 (1.05-1.25V)的AMD Athlon XP-M 1800 ;内存DDR256MB;显卡SIS650,集成动态显存可达64MB;网卡是内置802.11b 无线网卡;调制解调器为HCF V.90;声卡为AC97 2.13D立体声;USB×3、VGA接口、S端子、IEEE 1394、PS/2、外接麦克风插孔、扬声器插孔、RJ11(MODEM)插孔、RJ45(LAN)插孔,主板芯片组为SIS NB 650 。
系统安装了Win2000、Mandrake 9.1 Linux双系统 。笔记本电脑的使用很正常 , 但是令笔者苦恼的是笔记本计算机的电池供电问题 。虽然说明书写的电源管理:增强式AMD Power NOW!技术 , 电池类型是可充电锂离子电池 , 电池工作时间约4小时 。但是在使用过程中Linux命令行下一般待机时间开始只有3小时5分钟 , 应该说可以了 , 要知道CPU是AMD的移动版本Athlon XP-M 1800 , 通过资料查询它的最大功率在25W左右 。经过多次实验 , 笔者总结出在Linux笔记本上延长电池使用时间的一些技巧 , 希望对大家有帮助 。
一、 启动电源管理
要实现电源管理 , 最重要的有两点:第一是需要设备本身支持节电功能 , 比如硬盘 , 可以通过指令暂时关闭;第二是需要操作系统支持电源管理 , 这样就可以在空闲一段时间之后调用驱动的电源管理功能关闭设备 。两种电源管理标准:APM和ACPI :
1、 APM
传统的APM(Advanced Power Management)是一种基于bios的电源管理标准 , 目前的最新版本是1.2 , 它提供了CPU和设备电源管理的功能 , 但是由于这种电源管理方式主要是由bios实现 , 所以有些缺陷 , 比如对bios的过度依赖 , 新老bios之间的不兼容性 , 以及无法判断电源管理命令是由用户发起的还是由bios发起的 , 对某些新硬件如USB和1394的不支持性 。
2、 ACPI
为了弥补APM的缺陷 , 新的电源管理ACPI(Advanced Configuration and Power Interface)应运而生 , 它主要是将电源管理的主要执行者由bios转换成为操作系统 , 这样可以提供更大的灵活性以及可扩展性 。目前的主流笔记本一般同时支持APM和ACPI两种标准 。
APM可以使机器处于Suspend(悬挂)或Standby(备用)状态 , 以及检查电池容量 。而ACPI还可以把外设(如:显示器、显卡、PCI总线)单独断电 , 在节省电能方面有更多的控制 。为了让电源管理功能生效 , 需要在Bios和Linux核心里要打开它 , 并且在Linux里加载必需的应用软件 。
3、检查系统是否支持电源管理
在较新的核心里 , 都包含了对ACPI和APM的支持 。一般地 , ACPI是激活的 。使用dmesg来检验一下:

dmesg |egrep -i "(apm|acpi)"
BIOS-e820: 000000000fff0000 - 000000000fff3000 (ACPI NVS)
BIOS-e820: 000000000fff3000 - 0000000010000000 (ACPI data)
ACPI: have wakeup address 0xc0001000
Kernel command line: BOOT_IMAGE=linux ro root=307 quiet devfs=mount acpi=on
ACPI: Subsystem revision 20030122
ACPI: Disabled sis command line (acpi=on)
PCI: ACPI tables contain no PCI IRQ routing entries
apm: BIOS version 1.3 Flags 0x07 (Driver version 1.16)
笔者的ACPI是启用了 , 所以软件、硬件的配合是必须的 。如果你的计算机没有ACPI支持可以在http://sf.net/projects/acpi/ 下载补丁包 。acpi-0.07.tar.gz下载链接http://grahame.angrygoats.net/source/acpi/acpi-0.07.tar.gz 然后安装它 。
二、使用STD技术
STD(Suspend To Disk), 挂起到硬盘, 休眠到硬盘 。目前各个型号的笔记本电脑都提供了休眠功能 , 休眠首先需要BIOS对其提供支持 , 其次一般也需要操作系统提供支持 。笔记本电脑往往在键盘上提供这种挂起方式的快捷键Fn F12 为STD 。STD的实现在Windows XP下十分简单 , 在Linux系统下也可实现 。笔者Mandrake Linux 9.1 发行版本的CD1 上有:suspend-scripts-1.4-1mdk.noarch.rpm , 安装它 。

推荐阅读