Holmesian Blog

给用Ubuntu的EeePC降温

用过Ubuntu的EeePC机友都会发现,小E在跑Ubuntu的时候几乎是不到几分钟底座就非常的烫,相对于Windows系统这个发热量可以算是出奇的大了。 可能就是因为这个巨大的发热量的原因,很多机友都放弃了在EeePC上使用Ubuntu的念头,一方面是因为发热量,另一方面也是为小E的寿命着想——毕竟莫名其妙那么大的发热量让人心里很不安。

回过头来我仔细想一下,我的EeePC 1000HE从硬件方面来能耗应该是非常低的了,为什么在Windows下发热量那么小,而在Ubuntu下发热量那么高呢。经过检查,发热来源主要是来自硬盘,想想Ubuntu对内存的管理机制,我大概猜到了为什么EeePC 1000HE在用Ubuntu的时候发热量会那么高。

一看系统监视器发现swap里面居然驻留了200M的数据,果然如此~ Ubuntu放着好端端的物理内存不用,一个劲地啃在硬盘上的Swap分区,非固态硬盘是1000HE最大的热量来源!


在Linux里,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

做完以上修改之后保存,重启,你的设置就永久生效了。

理论上 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

当前页面是本站的「Google AMP」版。查看和发表评论请点击:完整版 »