手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>操作系统>Linux>列表

使用电池供电的 Linux Mini-HOWTO

来源:互联网 作者:west263.com 时间:2008-02-23
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!




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)□头: 

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!