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

Ubuntu 14.04启动耗时排查:如何获取各启动步骤耗时详情

拆解Ubuntu 14.04启动步骤耗时的实用方法

嘿,既然你已经通过/proc/uptime拿到了总启动耗时,想要深挖每个启动环节的具体耗时,Ubuntu 14.04作为经典的Upstart发行版,有几个非常实用的工具和方法帮你搞定:

1. 用Bootchart生成可视化启动流程(最直观)

Bootchart是专门为Linux启动过程做性能分析的工具,能生成包含所有进程启动时序、资源占用的图表,一眼就能看到哪个环节拖慢了启动。

  • 先安装:
    sudo apt-get update && sudo apt-get install bootchart
    
  • 安装完成后重启系统,系统会自动记录启动过程的数据
  • 重启后,在/var/log/bootchart/目录下会生成以日期命名的.svg或.png图表文件,直接用浏览器打开就能看到每个进程的启动时间线、CPU和内存占用情况,每个步骤的耗时一目了然。

2. 查看Upstart服务的详细启动日志

Ubuntu 14.04默认使用Upstart管理系统服务,每个服务的启动日志都单独存在,能精准查看单个服务的启动耗时:

  • 所有Upstart服务的日志都在/var/log/upstart/目录下,比如想查看网络服务的启动日志:
    cat /var/log/upstart/network-manager.log
    
    日志里会包含服务启动、完成的时间戳,直接计算时间差就能得到这个服务的启动耗时。
  • 用initctl list可以列出所有Upstart管理的服务,方便你定位想要查看的服务。

3. 从内核日志看底层启动细节

内核初始化是启动的第一步,dmesg命令能帮你查看内核层面的启动过程:

  • 带时间戳输出内核日志:
    dmesg -T
    
    你能看到硬件检测、驱动加载、内核初始化等每个步骤的具体时间点,比如搜索Linux version、Freeing initrd memory这类关键字,就能定位内核启动的关键节点,计算耗时。
  • 如果想筛选关键信息,可以用:
    dmesg -T | grep -E "start|finish|initialized"
    

4. 从系统日志汇总所有启动事件

/var/log/syslog里记录了整个系统启动过程的所有事件,包括服务启动、系统初始化等:

  • 搜索启动相关的事件:
    grep -E "Starting|Started|Finished" /var/log/syslog
    
    每条记录都有精确的时间戳,对比同一服务的Starting和Started时间,就能算出该服务的启动耗时,还能看到各个服务的启动顺序。

内容的提问来源于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:19:37