测量Linux系统启动时间

requiem007 2014-04-22 11:43:26
转自:http://blog.hushlight.com/2014/04/how-to-measure-linux-bootup-time/

摘要:

衡量Linux系统启动时间的方法很多,这个比较容易自动化,结果比较稳定,在 Suse 11 and Redhat 6上验证过,不同linux可能具体细节会有所不同。


工具:

Bootchart http://www.bootchart.org/


准备:

下载 bootchart-0.9.tar.bz2
安装 ,运行install.sh 即可,很快的
检查/boot/grub/menu.lst 中kernel那一行有没有 init=/sbin/bootchartd ,没有就加上
改 /sbin/bootchartd ,确定 local exit_proc=”gnome-session”,注意这里是以gnome-session启动作为系统启动完成标准,实际上差不多是桌面出现时间点,如果是无图系统,那就要改成其他进程作为启动完成标准
root用户要改成自动登录
Redhat, 改 /etc/gdm/custom.conf, 新增




[deamon]
AutomaticLoginEnable=true
AutomaticLogin=root


Suse要麻烦一点,除了改Modify /etc/gdm/custom.conf, 加上




[deamon]
AutomaticLoginEnable=true
AutomaticLogin=root


还要改 /etc/sysconfig/displaymanager, 加上 DISPLAYMANAGER_AUTOLOGIN=”root”
安装Java,注意必须用Sun J2SE SDK (http://java.sun.com/j2se/1.4.2/ 或者http://java.sun.com/j2se/1.5.0/,版本千万别高了。。。)
安装Apache Ant package
运行ant,编译bootchart的JAR包
好了,现在你有bootchart.jar了。6-9步可以不用在linux机器上完成, 随便在哪编译完了扔进bootchart文件夹里也行
检查:

重新启动 (shutdown -r 0)
检查 /var/log/bootchart.tgz 有没有生成,其中有没有log文件
java -jar bootchart.jar -o /var/log/
打开 /var/log/bootchart.png 看看是不是成功生成了时间图,如果是那就万事大吉了
好了,剩下的就是把1-3步自动化,不怕累的话手动做几遍取平均值就行啦

总结:

性能测试中衡量系统开机时间,很重要的一点是:怎么算开机完成? 在这个方法里,我用桌面出现作为系统启动结束标志,但在实际项目中标准可能会不一样,比如也许会用CPU稳定为标准,那就要另换方法了。

最后一点小tip,多次运行时不要连续重启系统,最好idle 5-10分钟后再重启。实际上大部分性能相关测试,都应该在重启系统后 5-10分钟再执行,这样才能保证数据不被cache之类影响。
...全文
266 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
loong0306 2014-04-22
  • 打赏
  • 举报
回复
感谢分享,学习了。

3,286

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 实用资料发布区
社区管理员
  • 实用资料发布区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧