You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu 14.04启动耗时排查:如何定位28秒启动的耗时环节?

获取Ubuntu 14.04各启动步骤的耗时详情

嘿,既然你已经通过/proc/uptime拿到了总启动耗时,想要拆分各个环节的细节的话,因为Ubuntu 14.04用的是Upstart初始化系统(不是后续版本的systemd),这几个工具和方法绝对能帮到你:

1. 用Bootchart生成可视化启动耗时报告

这是最直观的方法,它会记录整个启动过程中所有进程的启动时间、运行时长和依赖关系,最后生成一个交互式图表。

  • 首先安装工具:
    sudo apt-get update && sudo apt-get install bootchart
    
  • 重启你的系统:Bootchart会在下次启动时自动运行并收集数据
  • 重启完成后,生成的报告包在/var/log/bootchart.tgz,先解压:
    sudo tar xzf /var/log/bootchart.tgz -C /tmp
    
  • 打开/tmp/index.html(用任意浏览器),就能看到详细的启动流程时间线,包括内核初始化、各个Upstart任务、后台服务的启动耗时,甚至能看到哪些进程拖慢了启动速度。

2. 查看Upstart任务的日志详情

每个Upstart启动任务的日志都单独存在/var/log/upstart/目录下,你可以直接查看这些日志来计算单个任务的启动耗时:

  • 比如查看网络服务的启动日志:
    cat /var/log/upstart/network-manager.log
    
  • 如果你想批量筛选所有任务的启动/结束时间,可以用这个命令:
    grep -r "start\|stop" /var/log/upstart/ | sort
    
    从输出里对比每个任务的start和对应的stop(或就绪)时间,就能算出单个任务的耗时。

3. 分析内核启动阶段的耗时

内核初始化阶段的细节可以通过dmesg命令查看,它会记录内核启动时的所有硬件初始化、驱动加载等操作的时间:

  • 用带时间戳的格式查看dmesg:
    dmesg -T
    
    你可以对比开头的内核启动时间和最后一条内核日志的时间,算出内核阶段的总耗时,也能看到每个硬件(比如磁盘、网卡)初始化花了多久。

小提示

如果想在启动时实时看到文本输出(虽然可能滚动太快),可以在系统启动时按住Esc键,关闭图形化启动界面,直接看启动过程中的任务执行情况。

内容的提问来源于stack exchange,提问作者tuk

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 03:21:07