Linux如何查看系统启动耗时分析_Linuxsystemd-analyze使用教程

发布时间 - 2025-11-21 00:00:00    点击率:
systemd-analyze可分析Linux启动耗时,直接运行查看总时间,重点关注userspace阶段;用blame命令查看各服务耗时,如NetworkManager-wait-online.service过长可禁用;使用critical-chain查看关键依赖链,优化核心路径服务以缩短开机时间。

系统启动时间过长?想知道Linux开机过程中哪里耗时最多?systemd-analyze 是 systemd 提供的内置工具,能帮你快速分析系统启动耗时。它不需要额外安装,开箱即用,适合排查开机慢的问题。

查看整体启动耗时

直接运行以下命令,查看从BIOS之后到用户登录界面出现的总时间:

systemd-analyze

输出类似:

Startup finished in 4.235s (firmware) + 3.120s (loader) + 8.765s (kernel) + 12.450s (userspace) = 28.570s

这里显示了各个阶段耗时:

  • firmware:固件(如UEFI/BIOS)执行时间
  • loader:引导加载程序(如GRUB)时间
  • kernel:内核初始化时间
  • userspace:用户空间服务启动时间

重点关注 userspace 阶段,因为大多数可优化的服务都在这里。

查看各服务启动耗时

使用 blame 子命令查看每个服务的启动耗时,按耗时从高到低排序:

systemd-analyze blame

输出示例:

  9.234s NetworkManager-wait-online.service
  2.100s docker.service
  1.450s apparmor.service
  1.200s snapd.service

可以看到哪个服务拖慢了开机速度。比如 NetworkManager-wait-online.service 等待网络就绪太久,通常是因为它在等待所有网络接口完全连接。

如果你不需要开机强制联网,可以禁用该服务:

sudo systemctl disable NetworkManager-wait-online.service

查看服务启动的依赖关系图

使用 critical-chain 查看关键路径上的服务链,也就是决定总启动时间的核心依赖链:

systemd-analyze critical-chain

输出示例:

graphical.target @12.450s
└─multi-user.target @12.440s
  └─docker.service @10.340s +2.100s
    └─network-online.target @10.340s
      └─NetworkManager-wait-online.service @1.100s +9.234s
        └─NetworkManager.service @980ms +120ms
          └─dbus.service @950ms
            └─basic.target @940ms
              └─...

这条链说明:图形界面启动依赖 Docker,而 Docker 又依赖网络在线,最终源头是 NetworkManager-wait-online 耗时近10秒。优化这个链条中的任意环节都能缩短总启动时间。

生成可视化启动图表(可选)

想更直观地查看服务启动顺序和时间分布?可以用下面命令生成 SVG 图片:

systemd-analyze plot > boot-time.svg

然后将 boot-time.svg 下载到本地浏览器打开,就能看到每个服务的启动时间轴,便于分析并发情况和瓶颈。

基本上就这些。systemd-analyze 不复杂但容易忽略,掌握这几个命令后,排查开机慢问题会高效很多。


# linux  # docker  # svg  # 浏览器  # app  # 工具  # ai  # ios  # bios  # asic  # 接口  # 并发  # 重点关注  # 系统启动  # 是因为  # 都在  # 就能  # 最多  # 都能  # 可以用  # 帮你  # 执行时间 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Swift中switch语句区间和元组模式匹配  清除minerd进程的简单方法  微信小程序 配置文件详细介绍  Laravel怎么做缓存_Laravel Cache系统提升应用速度的策略与技巧  phpredis提高消息队列的实时性方法(推荐)  北京网站制作公司哪家好一点,北京租房网站有哪些?  教你用AI润色文章,让你的文字表达更专业  Win11怎么关闭资讯和兴趣_Windows11任务栏设置隐藏小组件  公司网站制作价格怎么算,公司办个官网需要多少钱?  ,在苏州找工作,上哪个网站比较好?  谷歌Google入口永久地址_Google搜索引擎官网首页永久入口  MySQL查询结果复制到新表的方法(更新、插入)  HTML 中动态设置元素 name 属性的正确语法详解  Linux系统命令中tree命令详解  Linux安全能力提升路径_长期防护思维说明【指导】  制作旅游网站html,怎样注册旅游网站?  php静态变量怎么调试_php静态变量作用域调试技巧【解答】  北京网页设计制作网站有哪些,继续教育自动播放怎么设置?  Laravel storage目录权限问题_Laravel文件写入权限设置  如何在自有机房高效搭建专业网站?  iOS发送验证码倒计时应用  Laravel队列任务超时怎么办_Laravel Queue Timeout设置详解  如何有效防御Web建站篡改攻击?  Laravel如何与Pusher实现实时通信?(WebSocket示例)  如何在云服务器上快速搭建个人网站?  零基础网站服务器架设实战:轻量应用与域名解析配置指南  电商网站制作价格怎么算,网上拍卖流程以及规则?  Laravel路由怎么定义_Laravel核心路由系统完全入门指南  如何用PHP快速搭建CMS系统?  jquery插件bootstrapValidator表单验证详解  重庆市网站制作公司,重庆招聘网站哪个好?  香港服务器部署网站为何提示未备案?  佛山网站制作系统,佛山企业变更地址网上办理步骤?  Zeus浏览器网页版官网入口 宙斯浏览器官网在线通道  Laravel事件监听器怎么写_Laravel Event和Listener使用教程  中国移动官方网站首页入口 中国移动官网网页登录  制作电商网页,电商供应链怎么做?  bing浏览器学术搜索入口_bing学术文献检索地址  香港服务器网站卡顿?如何解决网络延迟与负载问题?  lovemo网页版地址 lovemo官网手机登录  Laravel如何监控和管理失败的队列任务_Laravel失败任务处理与监控  Python结构化数据采集_字段抽取解析【教程】  使用豆包 AI 辅助进行简单网页 HTML 结构设计  Laravel如何创建自定义Artisan命令?(代码示例)  C#如何调用原生C++ COM对象详解  Laravel如何正确地在控制器和模型之间分配逻辑_Laravel代码职责分离与架构建议  如何用手机制作网站和网页,手机移动端的网站能制作成中英双语的吗?  Internet Explorer官网直接进入 IE浏览器在线体验版网址  关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)  Laravel怎么使用Collection集合方法_Laravel数组操作高级函数pluck与map【手册】