Linux总启动时间查看方法总结
Linux Total Boot time哪里打印的
在 Linux 系统中,总启动时间(Total Boot Time)的打印位置和查看方法取决于系统使用的初始化工具(如 systemd 或 sysvinit)。以下是常见的查看方法:
1. 使用 systemd-analyze(适用于 systemd 系统)
大多数现代 Linux 发行版(如 Ubuntu、Fedora、Debian 等)使用 systemd,可以通过以下命令查看启动时间:
(1) 总启动时间
1 | systemd-analyze |
输出示例:
1 | Startup finished in 3.956s (kernel) + 5.234s (userspace) = 9.190s |
kernel: 内核初始化时间(硬件检测、驱动加载等)。userspace: 用户空间服务启动时间(如系统服务、守护进程)。
(2) 各服务启动耗时
1 | systemd-analyze blame |
按耗时排序显示每个服务的启动时间,帮助定位瓶颈。
(3) 生成启动流程图
1 | systemd-analyze plot > boot.svg |
生成 SVG 格式的详细启动时序图,可用浏览器打开分析。
2. 查看内核启动日志(dmesg)
内核启动时间通常记录在 dmesg 的输出中。搜索关键词 BOOT_IMAGE 或 boot:
1 | dmesg | grep "BOOT_IMAGE" |
输出可能包含类似信息:
1 | [ 0.000000] Linux version 5.4.0-xx-generic (buildd@lcy01-amd64-001) (gcc version 9.3.0) #44-Ubuntu SMP ... |
通过时间戳(如 [1.234567])可以推算内核阶段的耗时。
3. 查看 /var/log/boot.log 文件
某些系统(如 RHEL/CentOS)会记录启动日志到 /var/log/boot.log:
1 | cat /var/log/boot.log |
该文件可能包含服务启动的详细时间和状态。
4. 使用 uptime 命令间接计算
1 | uptime -s |
输出系统启动的精确时间(如 2023-10-01 08:30:00),结合当前时间可手动计算总运行时长。
5. 传统 sysvinit 系统(如旧版 Ubuntu/Debian)
对于使用 sysvinit 的系统,查看 /var/log/dmesg 或 /var/log/syslog:
1 | grep "\[ *0\." /var/log/dmesg |
查找内核初始化的时间戳。
总结表格
| 方法 | 命令/文件 | 适用场景 |
|---|---|---|
systemd-analyze |
systemd-analyze |
现代 systemd 系统 |
| 内核日志 | dmesg | grep "BOOT_IMAGE" |
查看内核阶段耗时 |
| 启动日志文件 | /var/log/boot.log |
RHEL/CentOS 等系统 |
uptime |
uptime -s |
手动计算启动时间 |
根据系统类型选择合适的方法,推荐优先使用 systemd-analyze 进行快速分析。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Helloeuler!
