Linux如何减少系统启动耗时_Linuxsystemd服务优化策略
发布时间 - 2025-11-26 00:00:00 点击率:次优化Linux启动速度需先分析瓶颈,使用systemd-analyze工具识别耗时服务,禁用非必要服务如apt-daily.timer、bluetooth.service等,调整服务依赖减少串行等待,将After=network-online.target改为network.target以加快网络初始化,设置FastBoot=true和异步日志降低延迟,并用timer替代即时service触发任务,最后通过systemd-analyze验证优化效果。
系统启动速度影响使用效率,尤其在服务器快速部署或嵌入式设备场景中尤为重要。Linux 使用 systemd 作为默认初始化系统后,启动流程更可控,但也可能因服务过多导致延迟。优化 systemd 服务配置,能显著减少开机耗时。
识
别耗时最长的服务
要优化启动时间,先明确哪些服务拖慢了进程。
- systemd-analyze:直接查看总启动时间,命令输出包括内核加载和用户空间初始化耗时。
-
systemd-analyze blame:列出各服务启动耗时排序,重点关注排在前几位的服务,如
NetworkManager-wait-online.service或apt-daily.service。 - systemd-analyze critical-chain:显示关键路径上的服务链,帮助理解哪些服务是阻塞式依赖。
禁用非必要服务
许多预装服务在特定环境中并不需要,关闭它们可缩短启动流程。
- 使用 systemctl disable 服务名 禁用开机自启,例如:
sudo systemctl disable apt-daily.timer可避免软件源更新阻塞启动。 - 常见可禁用项包括:bluetooth.service、cups.service(无打印机)、 ModemManager.service(无蜂窝模块)等。
- 注意不要禁用核心服务如
systemd-udevd、NetworkManager或sshd(远程登录需要)。
优化服务依赖与并行启动
systemd 支持并行启动服务,但不当的依赖关系会形成串行瓶颈。
- 检查服务单元文件中的
Wants=、Requires=和After=配置,移除不必要的依赖。 - 对于非关键网络依赖服务,可将
After=network-online.target改为After=network.target,避免等待网络完全就绪。 - 使用
TimeoutSec=30缩短超时时间,防止某个服务长时间卡住整个流程。
启用并行日志与异步操作
部分服务可通过调整配置实现更快响应。
- 启用 FastBoot=true:在
/etc/systemd/system.conf中设置,跳过某些硬件检测或固件加载等待。 - 将日志模式改为异步:修改
Storage=volatile或减少 journald 写盘频率,降低 I/O 延迟。 - 对定时任务使用 timer 替代 service 直接触发,例如用
apt-daily.timer控制更新时机,避免开机立即执行。
基本上就这些。通过分析启动瓶颈、关闭冗余服务、精简依赖关系和调整系统参数,能有效压缩 Linux 启动时间。优化后建议再次运行 systemd-analyze 验证效果,持续微调更佳。不复杂但容易忽略细节。
# linux
# 打印机
# 工具
# ai
# volatile
# 异步
# 加载
# 长时间
# 但也
# 几位
# 更快
# 可将
# 可通过
# 在前
# 慢了
# 跳过
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
Windows驱动无法加载错误解决方法_驱动签名验证失败处理步骤
HTML 中如何正确使用模板变量为元素的 name 属性赋值
如何在橙子建站上传落地页?操作指南详解
如何在IIS中配置站点IP、端口及主机头?
Laravel的HTTP客户端怎么用_Laravel HTTP Client发起API请求教程
网站制作报价单模板图片,小松挖机官方网站报价?
如何快速搭建安全的FTP站点?
怎么制作网站设计模板图片,有电商商品详情页面的免费模板素材网站推荐吗?
Laravel如何自定义分页视图?(Pagination示例)
Laravel如何实现API速率限制?(Rate Limiting教程)
北京网站制作费用多少,建立一个公司网站的费用.有哪些部分,分别要多少钱?
Laravel如何使用Service Provider服务提供者_Laravel依赖注入与容器绑定【深度】
Laravel怎么实现一对多关联查询_Laravel Eloquent模型关系定义与预加载【实战】
进行网站优化必须要坚持的四大原则
Laravel怎么进行数据库事务处理_Laravel DB Facade事务操作确保数据一致性
Android GridView 滑动条设置一直显示状态(推荐)
如何在阿里云高效完成企业建站全流程?
Windows Hello人脸识别突然无法使用
php静态变量怎么调试_php静态变量作用域调试技巧【解答】
如何快速搭建支持数据库操作的智能建站平台?
jquery插件bootstrapValidator表单验证详解
如何制作公司的网站链接,公司想做一个网站,一般需要花多少钱?
油猴 教程,油猴搜脚本为什么会网页无法显示?
关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)
阿里云高弹*务器配置方案|支持分布式架构与多节点部署
Swift中循环语句中的转移语句 break 和 continue
JavaScript如何实现错误处理_try...catch如何捕获异常?
canvas 画布在主流浏览器中的尺寸限制详细介绍
Windows10电脑怎么查看硬盘通电时间_Win10使用工具检测磁盘健康
Java类加载基本过程详细介绍
JavaScript如何实现倒计时_时间函数如何精确控制
南京网站制作费用,南京远驱官方网站?
linux写shell需要注意的问题(必看)
Windows10如何更改计算机工作组_Win10系统属性修改Workgroup
Laravel如何创建和注册中间件_Laravel中间件编写与应用流程
laravel怎么配置Redis作为缓存驱动_laravel Redis缓存配置教程
HTML5建模怎么导出为FBX格式_FBX格式兼容性及导出步骤【指南】
猎豹浏览器开发者工具怎么打开 猎豹浏览器F12调试工具使用【前端必备】
悟空识字如何进行跟读录音_悟空识字开启麦克风权限与录音
Laravel如何使用API Resources格式化JSON响应_Laravel数据资源封装与格式化输出
如何快速配置高效服务器建站软件?
如何用AI一键生成爆款短视频文案?小红书AI文案写作指令【教程】
如何续费美橙建站之星域名及服务?
如何在浏览器中启用Flash_2025年继续使用Flash Player的方法【过时】
Laravel集合Collection怎么用_Laravel集合常用函数详解
Laravel如何实现数据导出到CSV文件_Laravel原生流式输出大数据量CSV【方案】
JavaScript如何实现音频处理_Web Audio API如何工作?
Laravel中的Facade(门面)到底是什么原理
Python3.6正式版新特性预览
Laravel怎么实现软删除SoftDeletes_Laravel模型回收站功能与数据恢复【步骤】


别耗时最长的服务