0

0

Linux服务启动很慢_服务启动耗时分析

舞夢輝影

舞夢輝影

发布时间:2026-03-05 04:09:25

|

904人浏览过

|

来源于php中文网

原创

linux服务启动慢需先定位耗时阶段:用systemd-analyze time、blame、critical-chain分析启动分布与瓶颈依赖,再按dns等待、挂载阻塞、熵不足、初始化重四类原因逐项排查。

linux服务启动很慢_服务启动耗时分析

Linux服务启动慢,通常不是单一原因导致,而是多个环节叠加延迟的结果。关键在于定位耗时阶段,而不是盲目重启或调优。

检查 systemd 启动耗时分布

systemd 提供了完整的启动时间分析工具,能直观看出哪些单元拖慢整体进度:

  • 运行 systemd-analyze time 查看系统启动总耗时及内核/用户空间分段耗时
  • 运行 systemd-analyze blame 列出所有已启动单元的初始化耗时(从高到低),重点关注超过 1s 的服务
  • 运行 systemd-analyze critical-chain 追踪某服务及其依赖链的逐级启动耗时,识别瓶颈依赖

常见耗时原因与对应排查点

多数慢启动可归为以下几类,按优先级逐一验证:

MartCnEnterPrise企业版
MartCnEnterPrise企业版

除了有一半电子商务的全部基本功能外,还增加了“模版自由更换”“程序在线自动更新升级”“分布式搜索”等特色功能 主要功能: ·网站的基本信息设置,部分数据以XML方式同服务器发生交互。 ·可自行关闭和开启网站,方便维护,可自定维护时显示的代码。 ·可自定义站点的关键字和描述,方便搜索引擎找到您的网站。 ·可自定义商品图片、新闻图片的上传目录和预览图片的大小。 ·提供自己设置网站的邮件发送服务器SM

下载
  • DNS 或网络等待:服务配置中含 hostname、远程地址或未设超时的 getaddrinfo 调用,启动时卡在 DNS 解析(尤其 /etc/resolv.conf 配置错误或上游 DNS 不可达)
  • 文件系统挂载阻塞:systemd 依赖 mount 单元(如 /home、/opt),若 fstab 中有 NFS 或加密卷且网络未就绪或密钥缺失,会默认等待 90 秒
  • 随机数熵不足:某些服务(如 OpenSSH、TLS 应用)启动时需读取 /dev/random,而虚拟机或容器中熵池长期偏低,导致阻塞;可用 cat /proc/sys/kernel/random/entropy_avail 检查,低于 100 即风险较高
  • 服务自身初始化逻辑重:例如数据库预加载大量数据、Java 服务触发 JIT 编译、Python 服务扫描巨量 site-packages

优化建议(不改代码也能见效)

多数场景可通过 systemd 配置快速缓解:

  • 对非关键依赖服务,将 Wants= 改为 WantedBy=,或添加 After=xxx.service 但去掉 Requires=,避免强依赖阻塞
  • 在服务 unit 文件中增加 TimeoutSec=30(根据实际调整),防止无限等待
  • 涉及网络的服务,添加 After=network-online.target 并启用 systemctl enable systemd-networkd-wait-online.service(需确认实际使用 networkd)
  • 熵不足问题:安装 havegedrng-tools,并启用对应服务,可立竿见影改善

进阶:启用启动过程详细日志

若标准分析不够,可临时开启更细粒度追踪:

  • 启动时在 GRUB 编辑界面追加内核参数:systemd.log_level=4 systemd.log_target=kmsg log_buf_len=1M
  • 重启后用 dmesg -T | grep systemd 查看带时间戳的初始化事件
  • 对特定服务启用调试日志:systemctl set-environment SYSTEMD_LOG_LEVEL=5,再 restart 服务观察 journal

定位比优化更重要。先用 systemd-analyze 找出前 3 个最慢单元,再结合 journalctl -u xxx -b 和依赖链分析,基本能覆盖 80% 的启动延迟问题。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
数据库三范式
数据库三范式

数据库三范式是一种设计规范,用于规范化关系型数据库中的数据结构,它通过消除冗余数据、提高数据库性能和数据一致性,提供了一种有效的数据库设计方法。本专题提供数据库三范式相关的文章、下载和课程。

382

2023.06.29

如何删除数据库
如何删除数据库

删除数据库是指在MySQL中完全移除一个数据库及其所包含的所有数据和结构,作用包括:1、释放存储空间;2、确保数据的安全性;3、提高数据库的整体性能,加速查询和操作的执行速度。尽管删除数据库具有一些好处,但在执行任何删除操作之前,务必谨慎操作,并备份重要的数据。删除数据库将永久性地删除所有相关数据和结构,无法回滚。

2106

2023.08.14

vb怎么连接数据库
vb怎么连接数据库

在VB中,连接数据库通常使用ADO(ActiveX 数据对象)或 DAO(Data Access Objects)这两个技术来实现:1、引入ADO库;2、创建ADO连接对象;3、配置连接字符串;4、打开连接;5、执行SQL语句;6、处理查询结果;7、关闭连接即可。

357

2023.08.31

MySQL恢复数据库
MySQL恢复数据库

MySQL恢复数据库的方法有使用物理备份恢复、使用逻辑备份恢复、使用二进制日志恢复和使用数据库复制进行恢复等。本专题为大家提供MySQL数据库相关的文章、下载、课程内容,供大家免费下载体验。

259

2023.09.05

vb中怎么连接access数据库
vb中怎么连接access数据库

vb中连接access数据库的步骤包括引用必要的命名空间、创建连接字符串、创建连接对象、打开连接、执行SQL语句和关闭连接。本专题为大家提供连接access数据库相关的文章、下载、课程内容,供大家免费下载体验。

329

2023.10.09

数据库对象名无效怎么解决
数据库对象名无效怎么解决

数据库对象名无效解决办法:1、检查使用的对象名是否正确,确保没有拼写错误;2、检查数据库中是否已存在具有相同名称的对象,如果是,请更改对象名为一个不同的名称,然后重新创建;3、确保在连接数据库时使用了正确的用户名、密码和数据库名称;4、尝试重启数据库服务,然后再次尝试创建或使用对象;5、尝试更新驱动程序,然后再次尝试创建或使用对象。

419

2023.10.16

vb连接access数据库的方法
vb连接access数据库的方法

vb连接access数据库方法:1、使用ADO连接,首先导入System.Data.OleDb模块,然后定义一个连接字符串,接着创建一个OleDbConnection对象并使用Open() 方法打开连接;2、使用DAO连接,首先导入 Microsoft.Jet.OLEDB模块,然后定义一个连接字符串,接着创建一个JetConnection对象并使用Open()方法打开连接即可。

462

2023.10.16

vb连接数据库的方法
vb连接数据库的方法

vb连接数据库的方法有使用ADO对象库、使用OLEDB数据提供程序、使用ODBC数据源等。详细介绍:1、使用ADO对象库方法,ADO是一种用于访问数据库的COM组件,可以通过ADO连接数据库并执行SQL语句。可以使用ADODB.Connection对象来建立与数据库的连接,然后使用ADODB.Recordset对象来执行查询和操作数据;2、使用OLEDB数据提供程序方法等等。

231

2023.10.19

PHP高性能API设计与Laravel服务架构实践
PHP高性能API设计与Laravel服务架构实践

本专题围绕 PHP 在现代 Web 后端开发中的高性能实践展开,重点讲解基于 Laravel 框架构建可扩展 API 服务的核心方法。内容涵盖路由与中间件机制、服务容器与依赖注入、接口版本管理、缓存策略设计以及队列异步处理方案。同时结合高并发场景,深入分析性能瓶颈定位与优化思路,帮助开发者构建稳定、高效、易维护的 PHP 后端服务体系。

4

2026.03.04

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 10.1万人学习

Git 教程
Git 教程

共21课时 | 4万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号