方法来自这篇文章 Feisty Performance – “Fly Like A Butterfly” (中文翻译),作者总结了很多关于优化和加速 Feisty的方法。按照下面的方法来做,到底有没有实际效果,就得大家试了才知道,至少我使用后,发现启动速度有了很大的提高。
注意:以下部分步骤如果修改错误,会导致系统无法启动,所以需要认真一点。
1、禁用 IPv6
目前 IPv6 还没有到来,Ubuntu 这个超前的功能暂时可以屏蔽掉,以加快速度。
编辑 sudo gedit /etc/modprobe.d/aliases,把:
alias net-pf-10 ipv6
修改为
alias net-pf-10 off #ipv6
2、并行运行开机启动脚本
/etc/init.d/ 下面的都是启动脚本,默认这些脚本是按顺序启动的,实际上,如果你使用的是 SATA 或 SCSI 接口,可以并行启动这些脚本程序,加速启动过程。
使用 vi 编辑 sudo vi /etc/init.d/rc,把:
CONCURRENCY=none
修改为
CONCURRENCY=shell
3、将 localhost 化名为主机名
据说这个方法可以改善使用 Ubuntu 一段后,在 GNOME 中启动应用程序变慢的问题。
编辑 sudo gedit /etc/hosts,把:
127.0.0.1 localhost
127.0.1.1 Ubuntu
在第一行末尾加上主机名,也就是第二行的那个名字。
127.0.0.1 localhost Ubuntu
127.0.1.1 Ubuntu
4、禁用 Pango
Pango 是一个着重于国际化的,用于输出和文本渲染的库,但是这个库可能导致 Firefox 等一些程序占用过高的 CPU,所以我们可以禁用它。这样可以很好的降低CPU的使用率。
编辑 sudo gedit /etc/environment,添加:
MOZ_DISABLE_PANGO=”1″
5、禁用 gettys
打开 sudo gedit /etc/event.d/tty3,把所有以 start 开头的行,用 # 注释掉。
6、安装 preload
可以把一些常用到的 lib 库和应用程序预加载到内存,以提高程序的启动速度。
sudo apt-get install preload
7、设置 swappiness
减少系统对于 swap 频繁的写入,将加快应用程序之间的切换,有助于提升系统性能。
系统默认为 60,你可以修改为 10:
sudo sysctl vm.swappiness=10
如果要让它开机自动设定,编辑 sudo gedit /etc/sysctl.conf 文件,加入:
vm.swappiness=10
8、使用 grub 的 profile 选项
grub 有个叫做 profile 的选项,它是一种系统启动时所要读取的所有的文件的索引,这样使得随后系统查找并且读取这些文件的速度就会加快。
在开机进入 grub 画面时按 esc 键,然后找到需要启动的内核,按 e 键,编辑启动参数,在后面加入 profile 后再按 b 进行启动。设置后,第一次开机需要建立索引,所以开机速度会慢一点,以后每次更新内核都需要这么做。
9、使用 sysv-rc-conf 关闭不必要的服务.
具体方法,请参考这里。
#############################################3
将localhost化名为主机名,编辑hosts文件,把127.0.0.1等于localhost和本机名写到一行中,比如:
127.0.0.1 localhost
127.0.1.1 fwolf_pcname
==> 变成
127.0.0.1 localhost fwolf_pcname
禁用ipv6,编辑/etc/modprobe.d/aliases:
alias net-pf-10 ipv6
==>
alias net-pf-10 off #ipv6
并行运行开机启动脚本,编辑/etc/init.d/rc:
CONCURRENCY=none
==>
CONCURRENCY=shell
但据说这种方法可能会造成启动问题,慎用,建议多核cpu才使用。
禁用Pango的输出和文本渲染,主要针对mozilla和firefox,可能会导致cpu占用过高。编辑/etc/environment,添加一行:
MOZ_DISABLE_PANGO=”1″
关闭之后明显感觉到firefox的显示速度变快了,但显示形式也有了一些变化,比如<th>、网页标题的黑体字现在能体现了,但也感觉字体渲染略微“模糊”了一点点。
安装preload,它可以把一些常用到的库文件预加载到内存,用部分内存空间换取应用程序启动速度的提升。另外注意,prelink从Feisty 7.04起就没用了:
sudo apt-get install preload
禁用多余的虚拟终端,编辑/etc/inittab,把getty部分只留一个就可以了:
1:2345:respawn:/sbin/getty 38400 tty1
#2:23:respawn:/sbin/getty 38400 tty2
#3:23:respawn:/sbin/getty 38400 tty3
#4:23:respawn:/sbin/getty 38400 tty4
#5:23:respawn:/sbin/getty 38400 tty5
#6:23:respawn:/sbin/getty 38400 tty6
Ctrl+Alt+F2-F6就没东西了,F1是我们保留的终端,用于应急处理,F7就是正常的图形环境啦。
注:有些情况下这样好像不行,还要编辑/etc/event.d/tty2,把start开头的两行都注释掉,3456都如法炮制,依然只保留1,再用热键切换过去就是空空的一个提示符了。
调整hdparm加速硬盘,编辑/etc/hdparm.conf,参考内容如下:
/dev/sda {
dma = on
io32_support = 1
mult_sect_io = 32
}
对于内存充足的机器减少对swap的使用,编辑/etc/sysctl.conf,添加:
vm.swappiness=10
这个数值的默认值为60,越小对swap的写入可能就越小,有网友说1G内存调整为5感觉最合适,建议至少512M内存以上再调整这个数值,设为0的话就几乎等于不实用swap了。
使用LVM,但暂时没有进一步的资料。
用bootchart协助,优化系统启动过程,对耗时较多的过程进行优化。
使用bum关闭掉不需要的服务,不推荐用sysv-rc-conf的原因是bum对服务、进程有比较详细的解释说明。
如果fstab中挂有外部磁盘,启动时不需要检测,可以把pass设置为0(fstab中最后一列)。如果在安装系统时就选用更合理的分区方案、分区类型(比如XFS)效果更佳。
现在应该都在用6.10Edgy之后的发行版了,如果是486机器,请选用386内核;P4以后的机器,包括同期的AMD,请选用generic内核;服务器请选用linux-server内核,会有一点点的性能提升,maybe。参考Difference between linux-generic, linux-386。
用deborphan删除不用的库文件:
sudo deborphan | xargs sudo apt-get -y remove –purge