« | Main | »

Linux 启动加速 and baselayout-2 (兼 Bootchart Show… )

版权声明: 允许非商业性转载,但转载时必须标明原作者 fcicq、原始链接 http://www.fcicq.net/wp/?p=532 及本声明。

先说说bootchart,看图便知这是干什么的.

Bootchart 26s

Bootchart 22s

启动 26s, 谁跟偶拼一下? :D
(更新: 现在是 22 秒.)

Bootchart 具体怎么装,偶就不想提了.

gentoo下面注意安装时的提示.
(不过好像是错的,自己到/etc/conf.d/rc里面找个正确的参数吧.)

最后到官方去提交/var/log/bootchart.log就可以得到图了.
—–
下面谈谈加速的问题.

1 readahead

保持一个相对较小的预抓取列表
(不过gentoo好像需要自己装.)

参见一看就晕的 readahead * 4

2 并行处理

gentoo,sysvinit,/etc/conf.d/rc
RC_PARALLEL_STARTUP=”yes”

加速至少25%.

如果用initng之类的替代品,估计会快到疯狂吧.
(initng,号称下一代引导系统… :( 有点吹过头?)

快速安装指南
(1)unmask sys-apps/initng sys-apps/initng-ifiles
(2)继续参考 Initng Installation

不过不抱太大希望,呵呵

3 压缩的文件系统

好像最近非常非常非常热的 ZFS 是支持压缩的.
(更多的特性就不多说了,说了也是 YY)

另外能够用的上的就是 reiser4. (cryptcompress)
虽然看起来不太稳定,还不太好装(谁说的?…不过是事实).

4 优化的系统

又是 gentoo 的专利?

(注:偶没有排斥用 LFS 的同学…
特此记录,偶的LFS ID:15089)

不过实话说, 核心对系统的优化是最为明显的.

选好处理器.少装东西,
有条件的打点优化用的patch,
这就足够了吧.

然后就是应用程序
(1)CFLAGS/CPPFLAGS
(gentoo only :D )
(2)prelink
(需要手工进行的工作)
(3)GNU_HASH (hash-style,binutils 2.17.50)
据称 Fedora Core 6+, Ubuntu 7.04 都已经开启…
(4)LDFLAGS
(和3配合进行,gentoo only)

5 精简系统

去掉不用的服务,
偶一般是最后说一些没用的,
反正无数人讲了无数遍,不缺偶一个

6 换发行版

7 升级系统

烧钱是最简单的方法,不是吗?

8 gentoo new baselayout: baselayout-2

baselayout-2 的平台无关性提高了不少.
离bash回家的日子不远了,大家都用busybox sh吧… :D

另外许多utils都改用C写了.速度那叫一个快.

unmask baselayout,makedev 就可以装了.

启动效果非常漂亮…
(注: 按偶的审美观,并行还是要打开的)

中间有几个问题.

(1) /etc/conf.d 下大多数自带配置文件需要重新配置

相当于又装了一遍?

如果你真的要尝尝busybox执行是什么滋味的话,
所有的类似第一行的代码都要转换成第二行的样式.

perferred_aps=("myap" "default")
perferred_aps="'myap' 'default'"

(2) reiserfs/jfs/reiser4 as /

(居然这么多文件系统都涉及…等下一个版本.)

/etc/fstab 的 pass 设置成 0 (虽然有点危险…日后应该会修复吧…)

(3) 无线网卡支持

ipw3945d一定一定一定不能在boot的时候运行.
(所以放在default运行级里面)

于是修改了 /etc/modules.d/ipw3945d, 去掉了最后服务启动的部分
重新更新一下就好了.

(4) 有软RAID的同学

一定要执行这一条,否则死的会很惨
rc-update add device-mapper boot

别的应该…没了…

ps:
最近发现了i1586这个神奇的,只有在cygwin环境下才会出现的机器类别.
平常有i386 i486 i586 i686 x86 amd64,现在有i1586,为什么呢?考考你.

ps2:
Timing buffered disk reads: 118 MB in 3.03 seconds = 38.94 MB/sec
(如果仔细看图的话,偶的优化非常接近最高传输速率)

ps3:
baselayout-2的力量是无穷的…
稍微做了一下调整,22 秒进入X.
Bootchart

看起来还不错.

友情提示: 请注意文章的时效性与准确性, 作者不对文章的有效性负责.

Tags:
Bookmark on del.icio.us
Last Modified: August 17, 2007 at 10:36 pm

« | Main | »

5 Comments

  1. dawnh said,

    August 17, 2007 @ 10:42

    用upstart试试看,应该会有更显著一点的提升,现在已经作为Ubuntu的标准配备了,该是抛弃传统init的时候了.

  2. fcicq said,

    August 17, 2007 @ 12:42

    如果想挑战20s以内的话… 呵呵.
    现在已经是并行化的了. 明显的提升不会再有了.
    (那就剩执行第7条这一个非常典型的办法了…
    偶可是一直在等SSD这神奇的东西.)

    偶最多只能试试initng,不过偶根本不敢保证效果.

    upstart这东西没人在gentoo下装过.
    看到linuxtoy下同学最少都是40s左右,而且曲线并不好看…

  3. Loong said,

    September 13, 2007 @ 19:56

    ubuntu 7.10,Sempron 3200+ ,默认安装,加装了apache2。32秒

  4. fcicq said,

    September 13, 2007 @ 21:01

    你们都用好机器….

    注意,ubuntu有牛b哄哄的upstart…

  5. fcicq said,

    September 15, 2007 @ 14:01

    baselayout-2 的 start-stop-daemon 好像不太好.

· TrackBack URI