8.04系统优化篇

系统安装、升级讨论
版面规则
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
回复
kantian
帖子: 42
注册时间: 2008-10-27 8:10

8.04系统优化篇

#1

帖子 kantian » 2008-11-15 11:12

Ubuntu8.04 经过以下步骤优化后,性能会得到明显提高,新手在第一次尝试优化前需要留
意的是最好逐项优化后验证一下系统有没有出现问题,如果有问题可以马上回退到上一步优
化方法,有经验的朋友就不用这么麻烦。
1。选择合适的 Ubuntu 版本
在系统安装篇已经说过了,32 位 CPU 用户安装 32 位版的 Ubuntu,64 位 CPU 的就安装
64 位版本。有人说 64 版本安装软件有兼容性问题。我从 Ubntuu7.04 开始到现在的 8.04 一
直使用 64 位系统,一直都很稳定没遇到太大的问题。64 位系统同样能使用 32 位的软件,只
要在终端输入以下命令,安装相应的 32 位包:
sudo apt-get install ia32-libs ia32-libs-gtk linux32 lib32asound2
,64 位系统在一般的应用中不但不会比 32 位系统慢,甚至还能有 5~10%的性能提升,这
是我对 32 位系统与 64 位系统对比后的体会。
如果有朋友在 64 位系统中遇到任何问题,可到
viewforum.php?f=85 发帖求助。
2。选择合适的文件系统
我的根分区与/home 都是使用 xfs 文件系统,当然也有人会推荐使用 ReiseFS 文件系
统。
3。选择适合自己的 Linux 内核
Ubuntu8.04 默认的内核是 2.6.24.X-generic,大家可以通过在终端中输入
uname -r 查看内核版本,而这个内核更适合笔记本用户使用。
对于台式机用户,我推荐使用 realtime 内核,这个内核在系统--系统管理--新立
得新立得软件包管理器里搜索“linux-image”就能看到,安装时要安装“linux-
imgage-2.6.22.14-rt”跟 “linux-restricted-modules-rt”两个包,原来默认的内核镜像
不用删除,安装后重启,grub 画面就 会多了两个 rt 的选项,选择第一个就能使用 rt 内核
了,rt 就是 realtime 的缩写。更完全的安装是把所有后面都是 rt 包都装上。
更简单的 rt 内核安装方式是直接输入命令:
sudo apt-get install linux-rt linux-headers-rt
小贴士:默认的内核不用删除,安装完 rt 内核后重启系统,在 grub 启动选择画面会出现新
的内核选项,选择 rt 选项,就能进入新的内核了
具体的文章可以见此帖:
viewtopic.php?t=101888
4。关闭 IPV6
因为目前 IPV6 网络还没普及,所以建议把这项关闭
代码:
sudo gedit /etc/modprobe.d/aliases
然后修改这一行:
alias net-pf-10 ipv6
为:
alias net-pf-10 off #ipv6
然后注释掉 hosts 文件中所有与 IPV6 有关的行
代码:
sudo gedit /etc/hosts
这将会禁止所有使用 IPV6 的网络接口。
再新建一个/etc/modprobe.d/bad_list 文件,内容为:
alias net-pf-10 off
然后重启。
5。并行启动程序
这将会使启动程序并行,加速启动过程
代码:
sudo kate /etc/init.d/rc
(注意:这里用 gedit 打开可能是乱码,换个编辑器,如 nano,vi 什么的就 ok 了)
找到并修改该行:
CONCURRENCY=none
为:
CONCURRENCY=shell
确保你的拼写正确,写错一个字母你将无法启动!!!
如果你使用的是 SATA 或 SCSI,这个方法会发挥最大的作用,然而即使像我使用 ATA 这样的
机器上,这个方法也使得的 GDM 登录界面出现的更快了一些。
如果你使用很老的硬件,这个方法也可能会使你的机器启动变慢。
注意:假如使用这个优化方法后,进入系统报“HAL 错误”,则请把 shell 改回 none
6。将 localhost 化名为主机名
对不对,你自己决定,我以前在 ubuntu 论坛看到的这个技巧,确实改善了一些应用程序的
启动。
代码:
sudo kate /etc/hosts
把你的主机名添加到第一行的 localhost 之后,像这样:
127.0.0.1 localhost yourhost
127.0.1.1 yourhost
7。preload
顾名思义,它能智能的根据你日常的软件使用习惯预加载大多数一版用到的 lib 文件和应用
程序,相当于加快了应用程序的启动(这并不会象有些人认为的会加快系统的启动速度)
代码:
sudo apt-get install preload
8。swappiness
Ubuntu 默认的 vm.swappiness 值是 60,这一默认值已经很合适了。但你可以改小一些降低
swap 的加载,系统性能会有一点点的提升
输入:
代码:
sysctl -q vm.swappiness
你会看到值是 60, 更改:
代码:
sudo sysctl vm.swappiness=10
这样你就将值由 60 改为 10,这可以大大降低系统对于 swap 的写入,建议内存为 512m 或更多
的朋友采用此方法。如你你发现你对于 swap 的使用极少,可以将值设为 0。这并不会禁止你
对 swap 的使用,而是使你的系统对于 swap 的写入尽可能的少,同时尽可能多的使用你的实
际内存。这对于你在切换应用程序时有着巨大的作用,因为这样的话它们是在物理内存而非
swap 分区中。
如果你想永久得改变这一值,你需要更改 sysctl.conf 文件:
代码:
sudo kate /etc/sysctl.conf
添加:
vm.swappiness=10
到末行,需要重启生效。
小贴士:
1G 内存推荐值为 5
2G 内存推荐值为 3
不推荐把值设为 0
9。grub 选项--profile
grub 有个叫做 profile 的选项,它是一种系统启动时所要读取的所有的文件的索引,这样使
得随后系统查找并且读取这些文件的速度就会加快。
系统启动到 grub 启动菜单的时候,按 esc 键
选择你默认的启动内核,按 e 键
移动到第二行,再按 e 键
添加 profile 到这行末尾,回车
按 b 键启动系统
第一次启动时间会稍长一些,那是因为要创建索引(或许和随便怎么称呼它),但这之后每
次启动就会更加平稳。
你需要在每次更新内核之后,或者是那些会影响到你的系统启动所需的文件的重大系统改动
之后,重新作这一步。
10。sysv-rc-conf
安装 sysv-rc-conf,禁止掉那些你不需要启动的服务。
举个例子,我的电脑没有蓝牙和 PCMCIA,所以我就不需要启动它。
因此禁止掉那些你没有和不需要的服务。
代码:
sudo apt-get install sysv-rc-conf
然后:
代码:
sudo sysv-rc-conf
以下是一些服务选项参考,可参考进行服务关闭
1. acpi-support - 你最好使其在 S 运行等级处于“X”状态。
2. acpid - acpi 守护程序.这两个用于电源管理,对于笔记本和台式电脑很重要,所以让
它们开启。
3. alsa - 如果你使用 alsa 声音子系统,是的,开启它。
4. alsa-utils -在我系统里,此服务取代了 alsa,所以我关闭了 alsa 并在 S 运行等级将此
服务开启。**注意**,我所说的“关闭”是指在所有运行等级里面去除所有 “X”。如果在你
系统里没有它,没问题。让我们继续。
5. anacron - 一个 cron 子系统,当时间到达时用于执行任何没有被执行的 cron 作业。当
某种 cron 作业时间准备好时,很可能你或许已经关闭了你的计算机。打个比方,updatedb
被计划在每天 2 点执行,但是在那个时候,你的计算机是关闭的,然后如果 ananron 服务如
果是开启的话,它将设法抓起那个 updatedb cron... 我将它关闭是因为我不经常关闭我的
笔记本,但是否开启此服务完全取决于你。
6. apmd - 这是十分困惑我的一个服务。我已经开启了 acpid 服务,那同时开启 apmd 有啥
好处呢?如果你的计算机不是那么老,甚至不能支持 acpi,然后你可以设法关闭它。无论
如何,我是关闭它的。
7. atd - 就像 cron,一个作业调度程序。我把它关了
8. binfmt-support - 核心支持其他二进制的文件格式。我让它开着
9. bluez-utiles - 我把它关了因为我没有任何蓝牙设备
10. bootlogd - 开启它
11. cron – 开启它
12. cupsys – 管理打印机的子系统。我没有打印机所以我关闭它了,如果你有打印机,开
启他。
13. dbus – 消息总线系统(message bus system)。非常重要,开启它。
14. dns-clean – 当使用拨号连接,主要用于清除 dns 信息。我不用拨号,所以我关闭了
它。
15. evms – 企业卷管理系统(Enterprise Volumn Management system). 我关闭了它。
16. fetchmail – 一个邮件接受守护进程,我关闭了它。
17. gdm – gnome 桌面管理器。 无论如何我关闭它了,因为我将系统用终端引导。如果你
想直接引导到图形用户界面,这取决于你。
18. gdomap – 事实上我也不知道为什么此服务必需开启。我没有在其他系统见过这个守护
程序,所以我将其关闭并且我没觉得我失去了什么。开启它对笔记本或者台式机有任何好处
吗?
19. gpm – 终端鼠标支持。如果你觉得你在终端使用鼠标更好,那么在运行等级 1 和 2 开
启它。那正是你所需要的。
20. halt - 别更改它。
21. hdparm – 调整硬盘的脚本。我在运行等级 2,3,4,5 去除了它但是在 S 运行等级添
加了它。我觉得早点打开 DMA,32bit I/O 等等将对其余过程有益。我自己也将原来的脚本
精简了一下。如果我知道我正做什么,我觉得做过多的检查没用。相应配置文件是
/etc/hdparm.conf。
22. hibernate – 如果你的系统支持休眠,把它打开,否则它对你没用。
23. hotkey-setup – 此守护进程为你的笔记本建立一些热键映射。支持的制造商包括:
HP, Acer, ASUS, Sony, Dell, 和 IBM。如果你有那些品牌的笔记本,你可以打开它,否则
它或许对你没有任何好处。
24. hotplug and hotplug-net #激活热插拔系统是费时的。我将考虑关掉它们。我在
的/etc/network/interfaces 文件作了很多修改,并将其设置为自动运行,而不是在热插拔
进程期间映射我的无线网卡。所以我可以将它们关掉。我已经测试过了,甚至我将它们关闭,
ubuntu 仍旧可以检测到我的 usb 驱动器,我的数码相机,等等。所以我认为关掉它们是很安
全的**注意**如果在关闭热插拔服务以后发现你的声卡部工作了,你可以将服务打开,或者
编辑 /etc/modules 文件并添加声卡驱动模块。经测试,后者比较快。
25. hplip – HP 打印机和图形子系统,我将其关闭了。
26. ifrename – 网络接口重命名(network interface rename)脚本。听上去很酷但是我
把它关掉了。主要用于管理多网络接口名称。虽然我有无线网卡和以太网卡,两者被内核标
识为 eth0 和 ath0,所以此服务对我不是很有用。
27. ifupdown and ifupdown-clean – 打开它,它们是开机时网络及口激活脚本。
28. inetd or inetd.real – 查看文件/etc/inetd.conf 注释掉所有你不需要的服务。如
果该文件不包含任何服务,那关闭它是很安全的。
29. klogd – 打开它。
30. linux-restricted-modules-common – 你应该去查看下是否你的系统装载有任何受限
制的模块。既然我需要 madwifi ath_pci 模块,所以我将其开启。受限制的模块可以
从/lib/linux-restricted-modules 查看到。如果你发现你没有使用任何受限制的模块,那
关掉这个服务没事。
31. lvm – 我没有使用逻辑卷所以我将此服务关闭。让它开启如果你 *确实* 有 lvm(lvm
是逻辑卷管理器在此不再扩充).
32. makedev – 打开它。
33. mdamd – Raid 管理工具。不使用 Raid 所以我将此服务关闭。
34. module-init-tools – 从/etc/modules 加载扩展模块。你可以研究/etc/modules 文件
查看是否有一些你不需要的模块。通常我们将此服务开启。
35. networking – 在启动期间通过扫描/etc/network/interfaces 文件增加网络接口和配
置 dns 信息。让它开着。
36. ntpdate – 通过 ubuntu 时间服务器同步时间 。在开机的时候我不需要它,故我关掉
了此服务。
37. nvidia-kernel – 我自己编译了 nvidia 驱动,所以此服务对我没用。如果你从受限制
模块中使用 nvidia 驱动,那打开此服务。
38. pcmcia – 激活 pcmica 设备。我将此服务打开在 S 运行等级而不是分别在 2,3,4,5
运行等级打开此服务,因为我觉得起先让硬件设备准备更好。如果你在使用没有 pcmica 卡
的台式机的话,请关闭此服务。
39. portmap – 管理像 nis,nfs 等等之类服务的守护程序。如果你的笔记本或台式机是纯
粹的客户端,那么关闭此服务。
40. powernowd – 管理 CPU 频率的客户端程序。主要用于支持 CPU speed stepping 技术的
笔记本。通常如果你在配置一台笔记本,你应该开启此服务。如果是台式机,那此服务应该
没有用。
41. ppp and ppp-dns - 对我没用,我不使用拨号。
42. readahead - **感谢 mr_pouit!** readahead 似乎是一种“预加载程序”。在开机时它将
一些库文件加载到内存,以便一些程序启动的更快。但是它给启动时间增加了 3-4 秒。所以,
你可以留着它...或者不。**更新**,经我测试我觉得加载程序没有什么不同。所以我决定关
闭此服务。如果你有打开此服务的理由,那就打开它 。
43. reboot - 别更改它。
44. resolvconf – 按照你的网络状态自动配置 DSN 信息,我将它打开着。
45. rmnologin – 如果发现 nologin,那么去除它。此情况不会在笔记本上面发生,所以
我摆脱它。
46. rsync – rsync 守护程序. 我不打算在我的笔记本上使用 rsync 协议,所以我将其关闭
47. sendsigs – 在重启和关机期间发送信号。顺其自然。
48. single – 激活单用户模式。顺其自然。
49. ssh – ssh 守护程序。 我需要 ssh,所以我将此服务打开。
50. stop-bootlogd – 从 2,3,4,5 运行等级停止 bootlogd。顺其自然。
51. sudo – 检查 sudo 状态。我没在一台笔记本或者台式机客户端上看到任何使用 sudo 的
好处,因此我关闭了它。
52. sysklogd - 顺其自然。
53. udev and udev-mab – 用户空间 dev 文件系统(userspace dev filesystem)。好东
西,我将它们打开。
54. umountfs - 顺其自然。
55. urandom – 随机数生成器。可能没什么用处,但是我留着它。
56. usplash - 嗯,如果你想看到漂亮的开机画面,顺其自然。无论如何沃关闭此服务了。
如果你想关闭它,你也可以编辑/boot/grub/menu.lst 文件注释掉 splashimage 行,除去开
机 splash 核心选项。
57. vbesave – 显卡 BIOS 配置工具。它能保存你显卡的状态。我将其开启。
58. xorg-common – 设置 X 服务 ICE socket。我将其从在 S 运行等级开启移动到
2,3,4,5,运行等级。如果我引导到单用户模式,那我不需要此服务。在最初引导期间这
种方法将不占用时间。
59. adjtimex – 这也是调整核心 hw 时钟的工具。通常你不会在开机列表中看见它。在非
常少有的情况如果你确实在开机进程中看见它了,事出有因,因此最好顺其自然。在我的情
况里,它是关闭的。
60. dirmngr – 证书列表管理工具(certification lists management tool)。和 gnupg
一起工作。你必须看看你是否需要它。在我的情况里,我是关掉它的。
61. hwtools – 一个优化 irqs 的工具。不确定打开它的好处。在我的情况里,我是关掉它
的。
62. libpam-devperm - 在系统崩溃之后用于修理设备文件许可的一个守护程序。听起来不
错,因此我打开它了。
63. lm-sensors – 如果你的主板内建一些传感芯片,通过用户空间(userspace)查看 hw
状态可能是有帮助的。我运行了它,但是它提示“没有发现传感器”,因此我关闭了此服务。6
4. mdadm-raid – 作用和 mdadm 服务相同。用来管 RAID 设备。如果你没有此类设备,那尽
管关掉它好了。
65. screen-cleanup – 一个用来清除开机屏幕的脚本。嗯,是否关闭它有你决定。在我的
情况里,我打开它了。
66.xinetd – 用来管理其他守护进程的一个 inetd 超级守护程序。在我的系统里,
xinetd 管理 chargen, daytime, echo 和 time (在 /etc/xinetd.d 目录找到的),我
不关系任何一个,因此我关掉了此服务。如果在 xinetd 下你确实有一些重要的服务,
那打开它。
11。关闭系统启动时检查分区的功能,加快系统启动速度
在终端输入命令:
sudo gedit /etc/fstab,找到以下所有类似的语句:
# /dev/sda6
UUID=5092-DF5F /media/sda6 vfat utf8,umask=007,gid=46 0 1
把最后那个 1 改为 0,
# /dev/sda6
UUID=5092-DF5F /media/sda6 vfat utf8,umask=007,gid=46 0 0
保存后,以后启动系统就不会再检查这个分区。
小贴士:建议根分区保留检查功能,其余分区检查功能可以关闭
12。优化 3D 桌面效果
在终端输入:
sudo apt-get install compizconfig-settings-manager,装完后打开系统--首选
项-- compizconfig-settings-manager
在首选项(general)里面的 Display Settings 把刷新率跳到 200,关闭检查刷新率
和于 Vblank 同步两个选项
13。配置 dns 缓存实现上网加速
我们可以用 dnsmasq:“apt-get install dnsmasq”,然后编辑/etc/resolv.conf 文件
(dns 服务器列表就保存在这里),在最前面加上一行:“nameserver 127.0.0.1”,搞定。
14。系统垃圾清理
可以使用以下命令清理系统垃圾
sudo apt-get autoclean 清理旧版本的软件缓存
sudo apt-get clean 清理所有软件缓存
sudo apt-get autoremove 删除系统不再使用的孤立软件
另外要养成一个好的习惯,就是多利用/tmp 来放置一些临时文件。例如我通常会把一些压
缩文件放到/tmp 来解压缩,然后编译安装文件。
15。关闭 tracker 服务
Ubuntu8。04 默认是开启 tracker 服务的,tracker 是一种桌面文件索引,通过它可以
查找文件的内容,是一种类似于 googel desktop 的工具。但可能不是所有人都需要这样的
工具,关闭方法:
系统--首选项--会话,把里面所有 Tracker 项的勾去掉就行
16。使用 tmpfs 缓存你的文件
通过 tmpfs 可以从你的内存中分出一部分作为虚拟的缓冲硬盘,来加速文件的读写。
小贴士:
1.此方法推荐 1G 及以上内存用户尝试,1G 内存以下用户慎用
2.当出现“/tmp 容量不够”的提示,请加内存或不要使用本优化方法:)
编辑/etc/fstab 文件,加入以下语句:
tmpfs /tmp tmpfs mode=1777 0 0
保存后重启系统,系统就会自动把你一半的物理内存用于/tmp,只要是在/tmp 读写的
文件,相当于直接读写内存,从而减少硬盘读写的次数。
这个优化方法对于经常读写硬盘的程序有比较好的优化效果,像电驴,bt 等软件,还
有网页的缓存都可以利用虚拟后/tmp 来减少对硬盘的读写
小贴士:
如果想严格控制物理内存的大小,语句可以改成:
tmpfs /tmp tmpfs size=100m,mode=1777 0 0
这里 size=100m 就是说让系统从物理内存中划出 100mb 作为虚拟的/tmp,但要小心的
是用 size 指定的大小数值不要超过物理内存的一半,否则系统可能会反而变慢。
如果不加 size 语句,而/tmp 文件容量已经超过物理内存的一半后,它会继续将 swap
分区作为虚拟/tmp 直到 swap 满为止。因此要让此优化方法发挥最好的性能,则应该让/tmp
的数据容量小于物理内存的一半
注意:当系统重启后 /tmp 里面的文档将会消失,所以在关闭系统前请做好/tmp 里面
有用文件的备份工作
lwjcxy
帖子: 408
注册时间: 2008-08-26 2:08

Re: 8.04系统优化篇

#2

帖子 lwjcxy » 2008-11-15 11:23

一般用tweak0.4.差不多了,命令的太难了。
附件
Screenshot-Ubuntu Tweak.png
头像
aiikii
帖子: 268
注册时间: 2008-03-05 23:45

Re: 8.04系统优化篇

#3

帖子 aiikii » 2008-12-28 10:08

收藏备用。

主要是对各服务的作用有了解了。
kantian
帖子: 42
注册时间: 2008-10-27 8:10

Re: 8.04系统优化篇

#4

帖子 kantian » 2009-01-04 12:44

lwjcxy 写了:一般用tweak0.4.差不多了,命令的太难了。
既然用了linux,不妨也享受一下命令行的感觉,嘿嘿。
头像
zhuimengren2034
帖子: 119
注册时间: 2009-01-25 15:43

Re: 8.04系统优化篇

#5

帖子 zhuimengren2034 » 2009-01-26 16:21

今天回去一定要试试,命令行的东西一定要会一些。
你有权保持沉默。你所说的一切将被作为呈堂证供。你有权请律师,如果你请不起律师,法庭可以为你代请一名。
头像
wangdu2002
帖子: 13284
注册时间: 2008-12-13 19:39
来自: 物华天宝人杰地灵

Re: 8.04系统优化篇

#6

帖子 wangdu2002 » 2009-01-27 21:21

好贴要顶!
建议楼主把此贴在《版本支持》--》804里面再发一遍,这样用804LTS的兄弟们都可以参考下,优化系统,用的更好。
行到水穷处,坐看云起时。
海内生明月,天涯共此夕。
--------------------吾本独!
harmock
帖子: 56
注册时间: 2008-06-12 10:42

Re: 8.04系统优化篇

#7

帖子 harmock » 2009-01-28 11:59

学ubuntu就是要多学些命令,会用的话,速度快得多。
khs_0225
帖子: 7
注册时间: 2008-11-02 13:09

Re: 8.04系统优化篇

#8

帖子 khs_0225 » 2009-01-30 22:32

好东东,赞一个。感受命令就是享受linux
回复