Linux怎么查看启动项?linux查看开机启动服务命令

在Linux系统中查看启动项最核心的方法是使用systemctl list-unit-files --type=service命令来筛选启用状态的服务,而排查启动慢或异常则需结合systemd-analyze blame命令分析耗时瓶颈。

很多刚接触Linux的管理员在遇到服务器开机慢、服务启动失败或者想清理不必要的后台进程时,往往感到无从下手,Linux的启动过程并不是黑盒,systemd作为现代Linux发行版的标准初始化系统,提供了非常透明的日志和分析工具,只要掌握正确的命令组合,你就能像医生看X光片一样,清晰地看到系统启动的每一个环节。

示例如何创建一个开机启动的systemd服务
加载中
示例如何创建一个开机启动的systemd服务

如何查看当前启用的服务列表

要理解系统的启动状态,首先得知道哪些服务在开机时被加载了,这是排查问题的第一步,也是日常维护中最基础的操作。

使用systemctl筛选启用服务

在传统的SysVinit时代,管理员需要去/etc/init.d/目录下一个个查看脚本。systemctl命令提供了更直观的接口。

  • 列出所有服务状态:运行systemctl list-unit-files --type=service,这个命令会列出所有已知的服务单元,并显示它们是enabled(启用)、disabled(禁用)还是static(静态)。
  • 只看启用的服务:为了减少干扰,通常只关心那些开机自启的服务,你可以配合grep命令过滤,systemctl list-unit-files --type=service | grep enabled。
  • 查看具体服务的状态:如果你知道某个特定服务(如nginx)是否自启,可以直接运行systemctl is-enabled nginx,它会直接返回enabled或disabled,非常适合脚本判断。

理解”enabled”与”active”的区别

这是一个常见的误区,很多用户混淆了”开机自启”和”当前运行”。

  • Enabled(启用):指的是服务被配置为在系统启动时自动加载,这就像是你把闹钟设好了,但还没到响铃时间。
  • Active(活动)

    Linux怎么查看启动项?linux查看开机启动服务命令

    :指的是服务当前正在内存中运行,这就像闹钟正在响。

  • 场景示例:如果你重启了服务器,发现Nginx没起来,检查is-enabled发现是enabled,但is-active是inactive,说明配置没问题,但服务启动失败了,需要去查日志。

深度分析启动耗时与瓶颈

当用户抱怨”我的Linux服务器开机太慢了”时,光看列表是不够的,需要量化分析,业内专家指出,系统启动时间的瓶颈通常集中在磁盘I/O或某个耗时过长的服务依赖上。

使用systemd-analyze进行时间剖析

systemd-analyze是systemd自带的瑞士军刀,专门用于分析启动性能。

  • 查看总耗时:运行systemd-analyze,它会输出内核启动时间和用户空间启动时间,如果总时间超过10秒,通常就需要优化。
  • 查找最慢的服务:运行systemd-analyze blame,这是最关键的一步,它会列出所有服务,并按启动耗时从长到短排序。
    • 你可能会看到networking.service耗时2.5秒,mysql.service耗时3.0秒。
    • 注意:这里的耗时是指服务从开始执行到报告”启动完成”所花费的时间,而不是它初始化整个数据库的时间。
  • 可视化树状图:对于喜欢图形化思维的管理员,systemd-analyze plot > boot.svg可以生成一个SVG格式的启动依赖树,打开这个文件,你可以直观地看到哪些服务是并行启动的,哪些是串行阻塞的。

如何解读blame输出

在blame的输出中,你需要关注那些耗时异常长的服务。

  1. 网络相关服务:如果NetworkManager或systemd-networkd耗时很长,通常是因为DHCP获取IP地址超时,或者DNS解析配置错误。
  2. 数据库服务:MySQL或PostgreSQL在启动时需要恢复事务日志,如果数据量大,耗时较长是正常的,但不应成为启动阻塞点。
  3. Linux怎么查看启动项?linux查看开机启动服务命令

  4. 第三方守护进程:某些监控代理或安全软件可能会在启动时进行深度扫描,导致延迟。

排查启动失败的服务与日志

启动慢不是唯一的问题,服务启动失败更是致命错误,这时需要深入查看日志。

使用journalctl追踪启动日志

journalctl是systemd的日志查看器,它比传统的/var/log/syslog更结构化。

  • 查看本次启动的所有日志:运行journalctl -b,这会显示当前引导会话的所有日志。
  • 查看失败的服务:运行journalctl -b -p err,这会过滤出本次启动过程中产生的所有错误级别日志。
  • 查看特定服务的日志:如果nginx启动失败,运行journalctl -u nginx -b,这会专门显示nginx在启动过程中的输出,包括配置文件错误、端口占用等信息。

常见启动失败场景与对策

  • 依赖未满足:如果服务A依赖服务B,而B启动失败,A也会失败,通过systemctl list-dependencies <service>可以查看依赖树,找出上游故障点。
  • 权限问题:很多服务以特定用户运行,如果配置文件权限不对,服务会拒绝启动,检查日志中的”Permission denied”关键字。
  • 端口冲突:Web服务启动失败常因端口被占用,使用ss -tlnp查看端口占用情况,找出冲突进程。

优化启动速度与清理冗余

在明确了哪些服务在运行、哪些耗时最长之后,下一步就是优化,行业共识认为,减少不必要的自启服务是提升启动速度最有效的手段。

禁用不必要的自启服务

  • 识别可禁用的服务:查看systemctl list-unit-files --type=service | grep enabled的输出,对于开发机或特定用途的服务器,像cups(打印服务)、bluetooth(蓝牙)、avahi-daemon(mDNS)等服务通常是不需要的。
  • 执行禁用操作

    Linux怎么查看启动项?linux查看开机启动服务命令

    :使用sudo systemctl disable <service_name>,这不会停止当前运行的服务,但会阻止它在下次启动时自动加载。

  • 验证结果:再次运行systemctl is-enabled <service_name>,确认返回disabled。

调整服务启动顺序

对于必须运行的服务,可以通过修改unit文件来优化依赖关系。

  • 并行启动:确保不相关的服务没有不必要的After=依赖,systemd默认会并行启动没有依赖关系的服务,最大化利用多核CPU。
  • 延迟启动:对于非关键服务,可以使用StartLimitIntervalSec或自定义的timer单元来延迟启动,避免在启动高峰期占用资源。

常见问题解答

linux 查看启动项 命令

最常用的命令是systemctl list-unit-files --type=service,它可以列出所有服务及其启用状态,如果需要查看当前正在运行的服务,可以使用systemctl list-units --type=service --state=running,对于更详细的启动耗时分析,systemd-analyze blame是首选工具,它能按时间排序显示每个服务的启动耗时。

linux 启动慢 怎么排查

首先运行systemd-analyze获取总耗时,然后使用systemd-analyze blame找出耗时最长的几个服务,针对这些服务使用journalctl -u <service_name> -b查看其启动日志,分析是配置错误、依赖阻塞还是资源竞争导致的延迟,如果是网络服务慢,检查DHCP和DNS配置;如果是数据库慢,检查数据文件权限和日志恢复情况。

如何彻底禁用某个开机自启服务

要彻底禁用某个服务的开机自启,执行sudo systemctl disable <service_name>,如果该服务当前正在运行,还可以执行sudo systemctl stop <service_name>来立即停止它,要验证是否成功,运行systemctl is-enabled <service_name>,如果返回disabled,则说明该服务已不再随系统启动而自动加载。

首发原创文章,作者:王坚‌,如若转载,请注明出处:https://idctop.com/linux%e6%80%8e%e4%b9%88%e6%9f%a5%e7%9c%8b%e5%90%af%e5%8a%a8%e9%a1%b9%ef%bc%9flinux%e6%9f%a5%e7%9c%8b%e5%bc%80%e6%9c%ba%e5%90%af%e5%8a%a8%e6%9c%8d%e5%8a%a1%e5%91%bd%e4%bb%a4/

赞 (0)
Hive数据如何导出到MySQL?Hive导出MySQL数据方法
上一篇 2026年7月4日 14:45
该ip地址的网络号是多少?如何计算ip地址的网络号和主机号
下一篇 2026年7月4日 14:46

相关推荐

  • 江苏南京服务器DNS应该设置多少?,如何提升解析速度?

    江苏南京服务器的DNS设置,首选是南京电信的默认解析:主DNS为2.2.2,备用DNS为4.4.4,若您的服务器部署在双线或BGP机房,也可使用5.5.5(阿里公共DNS)和29.29.29(腾讯DNSPod)作为补充,这两组地址覆盖了南京地区绝大多数网络链路,既能满足电信骨干网的快速解析,也能兼顾移动和联通用……

    2026年10月10日
    200
  • 云服务器年收入能有多少钱,个人靠云服务器怎么赚钱?

    云服务器一年花多少钱,没有标准答案:个人站点通常几百到两千元,中小企业生产环境多落在五千到三万元区间,带高防、大带宽或集群架构的业务,年支出上到十几万也很常见,决定价格的不是服务商logo,而是配置、带宽和计费模式这三件事,云服务器年费到底由哪些部分构成很多人只盯着“2核4G多少钱”,实际账单出来却对不上,问题……

    2026年10月6日
    300
  • 5M带宽服务器访问延迟多少毫秒,服务器响应时间多少正常

    5M带宽服务器的访问延迟不由带宽直接决定,同一台5M机器同城常见2-10毫秒,国内跨省常见20-40毫秒,国际线路可能100毫秒以上,带宽管的是“每秒能传多少数据”,毫秒管的是“第一个包多久能到”,先把5M带宽和访问毫秒拆开看很多人一看到“5M带宽”,第一反应就是访问速度会不会很慢,这里有个常见误区:把带宽和延……

    2026年9月14日
    400
  • u8系统服务器多少钱一台,价格受哪些因素影响?

    U8系统服务器的价格,根据部署方式和配置规模,通常在1.5万元至15万元之间,如果是购买物理服务器自建机房,一台满足基础需求的服务器预算在2万元左右;如果选择云服务器租赁,年付成本约5000元起步,这个价格区间主要取决于用友U8的版本(标准版/专业版/旗舰版)以及您企业的并发用户数和数据存储需求,U8系统服务器……

    2026年10月7日
    000
  • 搭建web服务器有多少种方法,哪种最简单实用

    搭建web服务器的方法没有唯一标准,但按资源形态可分为虚拟主机、VPS/云服务器、独立服务器、容器与Serverless等五类;选择时需结合流量、运维能力和成本,绝大多数中小网站优先考虑云服务器,搭建web服务器,先认清五条主流路线一个网站要对外提供访问,核心是把代码和静态文件放在一台7×24小时运行的机器上……

    2026年10月6日
    000
  • 怀旧服服务器里究竟有多少人,为什么人数这么少?

    怀旧服服务器里并没有官方实时公开的精确在线人数,但通过游戏内查询、插件数据和区域动向,可以相当准确地判断一个服务器的人口规模与活跃度,与其纠结某个瞬间的硬数字,不如掌握一套评估服务器“人气”的实战方法,怀旧服人数的真实形态:高峰与低谷的波动怀旧服的人口并非恒定数值,它更像潮汐,受版本更新、团本CD、时光徽章价格……

    2026年10月14日
    000
  • 晟腾服务器价格到底多少钱一台,最新采购报价是多少

    晟腾服务器的价格并没有一个固定数字,入门款月付通常在几百元区间,高配独享型年付可达数万元,最终成本取决于CPU、内存、带宽和防御配置, 很多朋友第一次接触晟腾服务器时,上来就问“多少钱一台”,其实这就像问“一辆车多少钱”一样,没法一口答死,今天咱们就把价格这件事掰开揉碎,从配置、计费模式到服务商选择,给你一套完……

    2026年10月11日
    100
  • 2CPU服务器最多支持多少线程,服务器线程数上限是多少

    2颗物理CPU的服务器没有固定线程上限,主流双路服务器常见最高可达384线程(AMD EPYC 9654双路,单颗96核192线程),Intel平台常见最高为240线程(Xeon Platinum 8490H双路,单颗60核120线程),实际线程数=单颗CPU物理核心数×每核线程数×2颗CPU,开启超线程时每核……

    2026年9月16日
    500
  • 购买一组服务器需要多少钱呢,哪里租便宜?

    一台主流配置的服务器年租金通常在5000元至5万元之间,而“买一组”即组建一个小型服务器集群的预算大约在3万元到15万元区间,具体取决于计算、存储与网络带宽的实际需求,对大多数中小企业来说,入门级一组(3台)高可用架构的服务器采购成本在8万元以内即可落地,但如果涉及GPU算力或高性能存储,单组成本可能突破30万……

    2026年8月28日
    700
  • SMTP协议服务器端口是多少,怎么设置?

    SMTP协yi向服务器是多少?没有全网统一答案,SMTP服务器地址由邮箱服务商或自建邮件系统决定,端口常用25、465、587和2525,其中465走SSL/TLS,587走STARTTLS,25端口在多数云服务器和IDC机房默认受限,SMTP协yi向服务器是多少:先分清协议、地址和端口SMTP不是服务器,它是……

    2026年10月17日
    100

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注