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!