`
ancin
  • 浏览: 52003 次
  • 性别: Icon_minigender_1
文章分类
社区版块
存档分类
最新评论

优化Archlinux性能

阅读更多
============ 摘自ArchLinux wiki============
修改引导文件
/etc/inittab
乱序执行
Note: 使用该方法后,不能保证所有系统服务按顺序启动。如果dbus未在X图形服务器启动前开启,某些功能可能出现异常(ck-launch-session、gnome、kde 等等)。

通过修改inittab使启动脚本乱序执行,而不必按顺序等待上一个脚本执行完毕:

# 用“once”代替“wait”
rc::sysinit:/etc/rc.sysinit
rs:S1:wait:/etc/rc.single
rm:2345:once:/etc/rc.multi
rh:06:once:/etc/rc.shutdown
su:S:once:/sbin/sulogin -p

禁用多余控制台

默认agetty控制台有六个(Ctrl+Alt+F1-6)。

    注释掉tty3~tty6,仅保留tty1、tty2:

c1:2345:respawn:/sbin/agetty -8 38400 tty1 linux
c2:2345:respawn:/sbin/agetty -8 38400 tty2 linux
#c3:2345:respawn:/sbin/agetty -8 38400 tty3 linux
#c4:2345:respawn:/sbin/agetty -8 38400 tty4 linux
#c5:2345:respawn:/sbin/agetty -8 38400 tty5 linux
#c6:2345:respawn:/sbin/agetty -8 38400 tty6 linux

此外,使用轻量级控制台(例如:fgetty、mingetty)可以节约系统资源:
Note: fgetty不支持sha512密码哈希(默认是md5)。如果使用sha512密码哈希,可以选择mingetty。

# pacman -S fgetty

修改/etc/inittab中上文所述的内容:

c1:2345:respawn:/sbin/fgetty tty1 linux
c2:2345:respawn:/sbin/fgetty tty2 linux

/boot/grub/menu.lst

该文件是GRUB的配置文件,通过该文件可以配置内核启动参数。有许多加快系统启动的参数,比如关闭framebuffer、使用quiet参数减少显示的日志数目、logo.nologo参数禁止显示徽标。更详细的配置信息参见GRUB。

使用上述设置的启动项如下:

kernel /vmlinuz-linux root=/dev/disk/by-uuid/UUID ro logo.nologo quiet

/etc/mkinitcpio.conf

在该文件中,删除不需要的HOOKS,甚至只保留base(和udev)、在MODULES数组中指定需要加载的模块,可以减小内核体积,加快开机速度。

更多信息参见:mkinitcpio。
/etc/rc.conf

如果使用了自动加载模块,那么完全可以清空MODULES数组:

MODULES=()

反之,也可以禁用自动加载模块,而选择手动加载:

MOD_AUTOLOAD="no"

然后把需要的模块添加进 MODULES=()。

网络部分,可以禁止不使用的网络链接。此外,如果可以,尽量选择手动设置IP。

最后删除不需要的系统服务:

DAEMONS=(dbus hal alsa network gdm)

把一些服务设置为后台启动:

DAEMONS=(dbus hal @gdm @alsa @network)

如果有闲情逸致,可以自己探索一下最佳服务启动顺序(算了吧,10个服务有360万种排列...):

DAEMONS=(syslog-ng @acpid arptables iptables network pdnsd @alsa @dbus @mpd @crond @sensors @ntpd @dropboxd)

尽管可以把服务放到后台启动,但要注意服务间的依赖,必须先启动被依赖的服务。(在以上例子中,pdnsd依赖于network,ntpd、dropboxd依赖于pdnsd,因为pdnsd提供域名解析;此外,Xorg依赖dbus)。
/etc/rc.sysinit

该脚本非常重要,系统启动时大多数信息都是这个脚本输出的。其中包含加载系统文件、加载模块、挂载分区、处理错误、以及输出信息等重要功能。

某些用不上的功能可以注释掉。例如:RAID、LVM、文件系统加密功能。修改前做好修复准备,否则后果难以预料。
自己编译内核

自己编译内核、关闭不需要的功能,恐怕是加速系统启动的最有效方法了,详细:
https://wiki.archlinux.org/index.php/Kernel_Compilation_From_Source
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics