如何查看服务启动时间 systemd-analyze性能分析工具
发布时间 - 2025-07-03 00:00:00 点击率:次systemd-analyze 是排查 linux 系统启动慢的核心工具,其主要用法包括:1. 使用 systemd-analyze 查看总启动时间及内核与用户空间耗时;2. 通过 systemd-analyze critical-chain 分析关键路径,找出拖慢启动的依赖服务链;3. 执行 systemd-analyze blame 列出各服务启动耗时,定位耗时最长的服务;4. 可选启用调试日志或生成启动流程图进一步分析;优化建议包括禁用不必要的服务、去除对网络的不必要依赖,并结合系统版本综合判断结果。
系统启动时间是排查性能问题的重要参考,尤其是当你发现 Linux 机器开机慢的时候。systemd-analyze 是 systemd 提供的一个内置工具,能帮你快速了解服务的启动耗时和整体性能瓶颈。
查看总启动时间和关键路径
运行以下命令就能看到整个系统的启动耗时:
systemd-analyze
输出会显示两个关键指标:
- Startup finished:表示从开机到系统准备好所需的时间(包括内核、initramfs 和用户空间)
- kernel + userspace:分别列出内核加载和用户空间初始化的时间
如果这个时间明显偏长,可以用下面这条命令进一步分析关键路径:
systemd-analyze critical-chain
它会列出影响启动时间的“关键链”,也就是最耗时的一条服务依赖路径。比如某个服务因为等待网络或磁盘超时导致整体延迟,通常会在这里体现出来。
查看单个服务的启动耗时
如果你怀疑某个具体的服务拖慢了系统启动,可以这样查看它的详细启动时间:
systemd-analyze blame
该命令会按启动时间排序,列出所有服务的耗时。例如你可能会看到类似这样的输出:
12.345s some-service.service 8.765s another-service.service ...
排在最上面的就是启动时间最长的服务。你可以根据名字判断是否必要,或者是否有优化空间。
如果想更深入了解某个服务的具体启动过程,可以用:
systemd-analyze log-level debug systemd-analyze log-target console
然后重启系统观察日志,不过这属于进阶操作,一般先用 blame 和 critical-chain 足够定位大部分问题。
优化建议与注意事项
- 如果某个服务启动时间很长但又不常用,可以考虑
禁用它:sudo systemctl disable some-slow-service
- 某些服务默认会等待网络就绪,但如果不需要联网,可以修改服务文件去掉对网络的依赖。
- 使用
systemd-analyze plot可以生成完整的启动流程图,保存为 HTML 文件后便于可视化分析:systemd-analyze plot > boot-time.html
需要注意的是,不同发行版对服务的默认配置可能略有差异,所以最好结合自己的系统版本来看结果。
基本上就这些,掌握这几个命令和思路,大多数系统启动慢的问题都能快速定位。
# linux
# 工具
# ai
# 系统版本
# html
# 系统启动
# 可以用
# 自己的
# 的是
# 进阶
# 如果你
# 在这里
# 你可以
# 尤其是
# 就能
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
JavaScript如何操作视频_媒体API怎么控制播放
英语简历制作免费网站推荐,如何将简历翻译成英文?
Laravel与Inertia.js怎么结合_使用Laravel和Inertia构建现代单页应用
html如何与html链接_实现多个HTML页面互相链接【互相】
Laravel怎么实现API接口鉴权_Laravel Sanctum令牌生成与请求验证【教程】
弹幕视频网站制作教程下载,弹幕视频网站是什么意思?
JS经典正则表达式笔试题汇总
如何用PHP快速搭建CMS系统?
北京企业网站设计制作公司,北京铁路集团官方网站?
laravel怎么用DB facade执行原生SQL查询_laravel DB facade原生SQL执行方法
公司网站制作价格怎么算,公司办个官网需要多少钱?
历史网站制作软件,华为如何找回被删除的网站?
三星、SK海力士获美批准:可向中国出口芯片制造设备
如何获取上海专业网站定制建站电话?
如何快速查询网站的真实建站时间?
Laravel如何优雅地处理服务层_在Laravel中使用Service层和Repository层
js实现点击每个li节点,都弹出其文本值及修改
Java垃圾回收器的方法和原理总结
EditPlus中的正则表达式 实战(4)
原生JS获取元素集合的子元素宽度实例
ai格式如何转html_将AI设计稿转换为HTML页面流程【页面】
ChatGPT怎么生成Excel公式_ChatGPT公式生成方法【指南】
成都品牌网站制作公司,成都营业执照年报网上怎么办理?
Laravel怎么设置路由分组Prefix_Laravel多级路由嵌套与命名空间隔离【步骤】
javascript如何操作浏览器历史记录_怎样实现无刷新导航
微信小程序 配置文件详细介绍
深圳网站制作的公司有哪些,dido官方网站?
大学网站设计制作软件有哪些,如何将网站制作成自己app?
如何在云主机快速搭建网站站点?
java获取注册ip实例
JS去除重复并统计数量的实现方法
个人摄影网站制作流程,摄影爱好者都去什么网站?
用v-html解决Vue.js渲染中html标签不被解析的问题
Laravel如何使用Spatie Media Library_Laravel图片上传管理与缩略图生成【步骤】
LinuxCD持续部署教程_自动发布与回滚机制
HTML5空格和nbsp有啥关系_nbsp的作用及使用场景【说明】
Laravel如何使用Blade模板引擎?(完整语法和示例)
ChatGPT常用指令模板大全 新手快速上手的万能Prompt合集
Laravel如何与Docker(Sail)协同开发?(环境搭建教程)
如何快速生成橙子建站落地页链接?
如何制作新型网站程序文件,新型止水鱼鳞网要拆除吗?
微信推文制作网站有哪些,怎么做微信推文,急?
html5源代码发行怎么设置权限_访问权限控制方法与实践【指南】
Python自动化办公教程_ExcelWordPDF批量处理案例
Laravel如何发送系统通知?(Notification渠道示例)
如何为不同团队 ID 动态生成多个“认领值班”按钮
太平洋网站制作公司,网络用语太平洋是什么意思?
Edge浏览器提示“由你的组织管理”怎么解决_去除浏览器托管提示【修复】
如何在服务器上三步完成建站并提升流量?
使用C语言编写圣诞表白程序


禁用它: