给用Ubuntu的EeePC降温
from:
Posted by at 15:29 | ? | | | 转自 本站原创
大 | 中 | 小
用过Ubuntu的EeePC机友都会发现,小E在跑Ubuntu的时候几乎是不到几分钟底座就非常的烫,相对于Windows系统这个发热量可以算是出奇的大了。
可能就是因为这个巨大的发热量的原因,很多机友都放弃了在EeePC上使用Ubuntu的念头,一方面是因为发热量,另一方面也是为小E的寿命着想——毕竟莫名其妙那么大的发热量让人心里很不安。
回过头来我仔细想一下,我的EeePC 1000HE从硬件方面来能耗应该是非常低的了,为什么在Windows下发热量那么小,而在Ubuntu下发热量那么高呢。
探寻一下发热来源,主要是来自硬盘想想Ubuntu对内存的管理机制,我大概知道了为什么EeePC 1000HE在用Ubuntu的时候发热量会那么高,一看系统监视器发现swap里面居然驻留了200M的数据,果然如此:
Ubuntu放着好端端的物理内存不用,一个劲地啃在硬盘上的Swap分区,非固态硬盘是1000HE最大的热量来源!
引用
在ubuntu
里面,swappiness的值的大小对如何使用swap分区是有着很大的联系的。swappiness=0的时候表示最大限度使用物理内存,然后才是
swap空间,swappiness=100的时候表示积极的使用swap分区,并且把内存上的数据及时的搬运到swap空间里面。两个极端,对于
ubuntu的默认设置,这个值等于60,建议修改为10。具体这样做:
1.查看你的系统里面的swappiness
$ cat /proc/sys/vm/swappiness
不出意外的话,你应该看到是 60
2.修改swappiness值为0
$ sudo sysctl vm.swappiness=0
但是这只是临时性的修改,在你重启系统后会恢复默认的60,所以,还要做一步:
$ sudo gedit /etc/sysctl.conf
在这个文档的最后加上这样一行:
vm.swappiness=0
做完以上修改之后保存,重启。
ok,你的设置就永久生效了。
理论上 Ubuntu的运行速度会更快, 而且由于减少了物理硬盘的使用,发热量降低是肯定的,但是有一个问题我现在还在测试中 就是vm.swappiness改为0是否真正合适,等我运行一段时间之后再说最终结果吧。
另外ubuntu的acpi有问题,还不是小问题。
对于这个问题可以尝试在boot内核是时候加上noacpi参数试一下。ubuntu没有配置之前是不能在笔记本上用的,会弄坏硬盘。
笔记本默认有一套节电模式,就是尽量使用低电指令。而硬盘的地电指令会导致频繁的线性读写。。。ubuntu下这种读写超过硬盘承受能力3倍以上。(windows不存在这一问题的原因是默认情况下节电模式时硬盘省电模式关闭,反而保护了硬盘)
sudo gedit /boot/grub/menu.lst
改成类似如下内容 注意红色部分
引用
title Ubuntu 8.04.1, kernel 2.6.24-21-eeepc
root (hd0,1)
kernel /boot/vmlinuz-2.6.24-21-eeepc root=UUID=1de725d1-6c48-429e-bd4c-3134e09740fd ro quiet splash noapic
initrd /boot/initrd.img-2.6.24-21-eeepc
quiet
title Ubuntu 8.04.1, kernel 2.6.24-21-eeepc (recovery mode)
root (hd0,1)
kernel /boot/vmlinuz-2.6.24-21-eeepc root=UUID=1de725d1-6c48-429e-bd4c-3134e09740fd ro single noapic
initrd /boot/initrd.img-2.6.24-21-eeepc
title Ubuntu 8.04.1, memtest86+
root (hd0,1)
kernel /boot/memtest86+.bin
quiet