CentOS开机默认启动的是一整套围绕systemd初始化系统的底层服务、网络通信服务、日志与安全组件,其中核心包括sshd远程登录、NetworkManager网络管理、firewalld防火墙,以及crond计划任务服务,它们共同构成了服务器稳定运行的基础骨架。
很多朋友买完CentOS服务器,或者刚装完系统,第一件事就是想知道系统里到底跑着哪些服务,哪些该开、哪些该关,尤其是遇到内存占用高、CPU莫名飙升的时候,排查的第一步就是摸清家底,今天咱就直接把CentOS开机启动的那些服务翻个底朝天,从底层原理到实际操作,一次性说明白。
CentOS开机启动的服务到底由谁说了算
CentOS从7版本开始,全面切换到了systemd管理体系,替代了老旧的SysV init,这套体系核心就是一个PID为1的systemd进程,它负责在开机时并行启动所有需要的服务单元,这些服务单元以.service结尾,分布在系统的三个目录中:
- /usr/lib/systemd/system:系统自带的默认服务脚本,软件安装时生成的启动文件基本都在这。
- /etc/systemd/system:管理员自定义的服务脚本,优先级最高,可以覆盖系统默认配置。
- /run/systemd/system:运行时生成的服务脚本,重启后消失。
查看当前系统开机启动项,最直接的一条命令就是:
systemctl list-unit-files --type=service --state=enabled
这条命令会把所有开机自启的service单独列出来,比直接看全部列表要清爽得多,想同时看禁用状态的,把–state=enabled去掉即可。
区分“开机启动服务”和“当前运行服务”
不少新手会把这两件事搞混,开机启动(enabled)指的是系统引导时自动拉起该服务,而当前运行(active)是指此刻服务正在跑,一个服务完全可以处于“开机启动但当前没运行”的状态,比如你手动停掉了它。
排查问题时,建议先看当前运行的所有服务:
systemctl list-units --type=service --state=running
再看开机自启的清单:
systemctl list-unit-files --type=service --state=enabled
两张表一对比,就能清楚知道哪些服务是开机常驻的,哪些是临时拉起来的,业内专家指出,这种对比排查方式能有效避免遗漏隐藏在背后的常驻进程,是系统调优前的必备步骤。
CentOS 7/8/9各自开机启动的核心服务清单
不同版本对服务的命名和依赖略有差异,但核心逻辑一致,下面按功能模块拆分来看。
基础系统服务:没它们机器直接罢工
- systemd-journald:系统日志采集服务,负责收集中枢日志信息,几乎所有排障都离不开它。
- systemd-udevd:设备管理服务,监听硬件热插拔事件,生成对应的设备节点。
- systemd-logind:用户登录管理服务,处理本地终端和远程会话的登录登出。
- tuned:系统调优服务,根据预设的profile自动调整内核参数,比如吞吐量优先还是延迟优先。
- chronyd:时间同步服务,替代老旧的ntpd,负责保持系统时间与NTP服务器一致,生产环境尤其依赖它,时间漂移会导致日志错乱甚至集群通信失败。
网络与远程访问服务:服务器对外的大门
- NetworkManager:网络管理服务,负责管理网卡、IP地址、路由表等,是绝大多数CentOS默认使用的网络栈管理工具。
- sshd:OpenSSH远程登录服务,可以说服务器上最重要的服务之一,一旦没起来,你就只能去机房或者用管理终端了。
- firewalld:动态防火墙服务,管理iptables规则,负责放行或拦截进出流量,不过很多云服务器厂商会在系统外层再套一层安全组策略,这时候firewalld可以视情况关闭。
- rsyslog:系统日志转发服务,从内核和各个应用收集日志,统一写入/var/log目录下的文件中。
存储与文件系统服务
- systemd-remount-fs:重挂载根文件系统,确保以读写模式挂载。
- systemd-fsck:开机文件系统检查服务,检测磁盘分区是否损坏。
- udisks2:磁盘管理服务,处理外部存储设备的挂载与卸载操作。
- lvm2-monitor:逻辑卷管理监控服务,如果硬盘分区用了LVM,这个服务就得常驻。
上面这些服务在多数CentOS生产环境中都是默认开启状态,想逐个查看某个服务的详细状态,用这个命令:
systemctl status sshd
输出会包含是否开机自启、当前运行状态、最近日志、主进程PID等信息,非常直观。
如何判断哪些服务该关掉
服务器不是开箱即用的家用电脑,默认开启的服务并不一定都适合你的业务场景,朝着安全加固和性能释放两个方向,以下服务经常成为优化目标。
用不到的多余服务建议果断禁用
以最小化安装的CentOS为例,默认并没有太多花哨的服务,但如果你装了图形界面或者某些软件包,就会多出一些用不到的组件:
- cups:打印服务,完全没有必要在服务器上开着。
- avahi-daemon:局域网服务发现协议,典型场景是打印机和多媒体设备自动发现,服务器上用不到。
- postfix:邮件传输服务,最小化安装下一般没有,但如果装了,而且你的应用没有发邮件需求,建议关掉。
检查有没有这类多余服务:
systemctl list-unit-files --type=service --state=enabled | grep -E 'cups|avahi|postfix'
有输出就说明存在,直接关掉即可:
systemctl disable --now cups avahi-daemon postfix
轻量性能释放的优化操作
不少云服务器用户会主动关闭firewalld,把流量控制完全交给云平台的安全组,这样能省一部分内存和CPU开销,具体操作:
systemctl disable --now firewalld
不过要说清楚,这招只适用于云上服务器,物理机或者内网裸机环境不建议这么干,没有硬件防火墙兜底风险很大。
另一个常见操作是关掉irqbalance服务,这个服务原本是用来在多核CPU之间均衡分配硬件中断的,对于单核或少数几核的低配服务器,它的存在意义不大,甚至会有少量性能损耗,但如果你是多核高配机器且跑着密集IO业务,建议保留。
自定义开机启动你的业务服务
比起关心系统默认启动了哪些服务,更实际的问题是:你自己的应用服务怎么做到开机自动拉起。
假设你有个Java后端程序,部署在/opt/myapp目录下,写一个systemd服务单元是最规范的做法:
在/etc/systemd/system/目录下创建myapp.service文件,内容示例:
[Unit] Description=My Java Application Server After=network.target [Service] Type=simple WorkingDirectory=/opt/myapp ExecStart=/usr/bin/java -jar myapp.jar Restart=on-failure User=root [Install] WantedBy=multi-user.target
写完后依次执行三行命令:
systemctl daemon-reload systemctl enable myapp.service systemctl start myapp.service
这样你的应用就纳入systemd统一管理了,开机自动拉起、崩溃自动重启,还能用systemctl status随时查看状态,比直接扔到rc.local里优雅得多。
Q&A:关于CentOS开机启动服务的常见疑问
centos7查看开机启动服务命令是什么?
最常用的是systemctl list-unit-files –type=service –state=enabled,可以列出所有enabled状态的服务,如果想看更详细的运行状态,配合systemctl list-units –type=service –state=running使用,就能区分“开机自启但没运行”和“当前存活”的服务。
centos8关闭开机启动服务会影响已运行的服务吗?
会有影响,具体取决于你用的参数,执行systemctl disable只是取消开机自启,不影响当前运行中的服务;执行systemctl stop会立即停止正在运行的服务;两者一起执行即systemctl disable –now 服务名,会同时把当前服务和开机自启都干掉,生产环境操作前务必确认这个服务没有被别的业务依赖。
改完服务配置后为什么必须执行daemon-reload?
因为systemd会在启动时读取并缓存服务单元文件,你修改了配置后,如果不执行systemctl daemon-reload,systemd仍然沿用旧配置,导致修改不生效或服务启动异常,只要是编辑过/etc/systemd/system/下的service文件,这一步是逃不掉的。
CentOS开机启动的服务清单不是一个固定答案,它取决于安装方式、业务负载和运维策略,最小化安装时,系统只拉起维系基本运行的核心服务;安装业务软件后,又会有新的守护进程追加进来,掌握好systemctl这套查看和管理的命令工具,你就掌握了控制服务器开机行为的主动权,任何时候排查性能问题,先跑一遍systemctl list-units –type=service –state=running,是运维老手的基本操作。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/article/767858.html





