行业资讯
📅 2026/7/23 7:39:54
CentOS7 运维入门:系统性能监控 + systemd 服务完整实操教程
导语玩 Linux 运维绕不开两大核心技能服务器性能排查和后台服务管理。平时线上服务器卡顿、程序后台跑丢、重启后业务起不来90% 的问题都能用这两套知识解决。CentOS7 彻底抛弃了老旧 SysV 启动体系全面采用 systemd 作为系统一号进程搭配 systemctl 统一管理所有后台程序同时系统自带一套原生监控工具再配合 stress 压力测试工具我们可以手动模拟 CPU、内存、磁盘、网络四类资源瓶颈直观看懂各项性能指标。本文全程基于 centos7.lzh.cloud 主机实操命令完整可复现从负载解读、压力模拟到系统自带服务、自定义常驻脚本服务一步步拆解新手跟着敲就能吃透底层原理同时整理了实训高频报错与解决思路。一、系统负载怎么看四大资源压力模拟实操日常登录服务器第一件事先看整体运行状态uptime、top 是运维人手必备工具。1.1 uptime top 快速查看整机负载登录终端直接输入两条命令就能拿到服务器全局资源概况[lizihancentos7 ~ 08:49:41]$uptime09:24:09 up39min,3users, load average:0.00,0.05,0.01[lizihancentos7 ~10:08:53]$toptop-10:08:53 up1:24,3users, load average:0.05,0.03,0.05Tasks:221total,2running,219sleeping,0stopped,0zombie %Cpu(s):0.0us,0.0sy,0.0ni,100.0 id,0.0wa,0.0hi,0.0si KiB Mem:4026116total,1843308free,859488used,1323320buff/cache KiB Swap:4063228total,4063228free,0used.2907200avail Mem指标通俗解读uptimeup 39 min服务器开机时长3 users当前在线登录用户load average 三段数值分别代表近 1 分钟、5 分钟、15 分钟系统平均负载。本机是 2 核虚拟机负载数值持续大于 2就代表 CPU 任务排队、系统过载。top 面板%Cpu idCPU 空闲占比100 id 说明完全无压力wa数值高代表磁盘 IO 阻塞Mem区域重点看available这是系统真正剩余可用内存Swap 交换分区线上环境尽量保持 0 占用频繁使用 swap 代表内存不足。当前输出是空载状态适合后续做压力对比测试。1.2 安装压测与 IO 监控工具想要人为制造服务器高负载需要安装 stress排查磁盘读写占用需要 iotop[lizihancentos7 ~10:09:39]$sudoyuminstall-ystress[lizihancentos7 ~10:21:35]$sudoyuminstall-yiotop小提示iotop 需要读取内核底层 IO 数据普通用户直接运行会报权限不足必须搭配 sudo 使用。1.3 四类资源压力模拟实操① CPU 压力测试命令-c用来创建 CPU 计算进程本机 2 核直接开 2 个进程打满[rootcentos7 ~10:31:09]# stress -c 2新开终端执行 top 观察变化可以看到其中一颗 CPU 空闲率暴跌load average 持续走高stress 进程 CPU 占用接近 100%。实操结论多核机器判断 CPU 瓶颈直接对比负载数值与 CPU 核心数量即可。② 内存压力测试使用free -m以 MB 单位查看内存先记录基准数据再占用 1G 内存测试# 查看原始内存free-m# 单进程占用1G内存stress-m1--vm-bytes 1G按下CtrlC终止压测进程后Linux 内核会自动回收全部占用内存无需手动清理只有程序异常崩溃才会出现内存泄漏问题。③ 磁盘 IO 压力测试通过-d参数疯狂读写磁盘文件配合 sar 实时查看磁盘利用率stress-d1--hdd-bytes 2G# 每秒刷新一次磁盘指标sar-dp1输出里%util是核心指标数值越接近 100%磁盘读写越拥堵。本次测试磁盘利用率达到 81.6%已经处于高负载状态。④ 网络带宽压力测试下载大镜像文件模拟大量用户访问用 sar 监控网卡流量wgethttp://192.168.50.200/course-materials/iso/CentOS-7-x86_64-DVD-2207-02.iso# 实时监控网卡收发流量sudosar-nDEV1下载过程中 ens33 网卡rxkB/s接收流量会暴涨直观看到带宽占用情况。二、CentOS7 systemd 服务全解析从零管理后台程序2.1 什么是 systemdCentOS7 开机后第一个启动的进程 PID1 就是 systemd相当于服务器的 “大总管”。系统所有后台程序ssh、网页服务、自定义脚本都由它统一调度、监控、管理我们操作它的工具就是systemctl。服务配置文件分为两个存放目录优先级有区分/usr/lib/systemd/system/系统自带服务sshd、httpd系统更新会覆盖/etc/systemd/system/管理员自定义服务不会被系统升级修改优先级更高。2.2 系统自带服务实操httpd sshd1安装并启动 Apache 网页服务 httpdyuminstall-yhttpd systemctl start httpd# 树形查看网页服务父子进程psaxf|tail执行后能看到多个 httpd 子进程后台常驻等待用户网页访问。2批量查看系统所有服务日常排查故障常用几条查看命令收藏备用# 查看当前正在运行的单元systemctl list-units# 只查看定时任务类单元systemctl list-units-ttimer# 展示全部服务包含已停止systemctl list-units--typeservice--all# 查看所有服务配置文件systemctl list-unit-files# 一键筛选启动失败的服务systemctl--failed--typeservice3sshd 远程服务踩坑实录ssh 是远程连接服务器必备服务这里分享两个新手高频坑# 启动ssh服务systemctl start sshd.service# 使用主机名连接直接报错sshlizihancentos7hostname# 切换IP连接正常sshlizihan10.1.8.10# 关闭开机自启systemctl disable sshd问题原因本机/etc/hosts没有配置 centos7 主机名与 IP 的映射系统无法解析域名另外disable只会取消开机自启不会立刻停止当前运行的 ssh但服务器重启后 ssh 不会自动拉起会导致无法远程登录。2.3 高阶实操自定义 systemd 常驻服务很多时候我们需要自己写脚本后台持续运行传统 nohup 容易丢进程注册成 systemd 服务是最优解。需求编写脚本每 5 秒输出当前时间写入日志开机自动后台运行。步骤 1编写业务脚本vim/usr/local/bin/study脚本内容#!/bin/bashwhiletruedoDATE$(date)echo$DATE: IM studying [ Linux ]/var/log/study.logsleep5done赋予执行权限chmodx /usr/local/bin/study步骤 2复制 ssh 服务模板创建自定义服务文件不用从零手写配置直接复用系统 sshd 模板减少语法错误cp/usr/lib/systemd/system/sshd.service /etc/systemd/system/studyd.servicevim/etc/systemd/system/studyd.service精简修改配置[Unit] Descriptionstudy server daemon [Service] ExecStart/usr/local/bin/study [Install] WantedBymulti-user.target步骤 3重载配置并启动服务修改服务文件后必须重载 systemd 缓存才能生效systemctl daemon-reload# 开机自启立即启动一步到位systemctlenablestudyd--now# 查看运行状态systemctl status studyd输出active (running)代表脚本已经在后台稳定运行。步骤 4日志查看小坑刚启动立刻执行日志查看会提示文件不存在tail-f/var/log/study.log原因系统只有执行写入操作时才会自动创建日志空文件等待几秒或重启服务就能正常输出日志。三、实训高频问题汇总新手直接避坑iotop 普通用户运行报错iotop 依赖内核 IO 接口权限受限执行时加上 sudo 即可ssh 主机名解析失败本机 hosts 无 IP 映射要么编辑 hosts 绑定主机名要么直接使用 IP 登录复制 sshd 模板后服务描述还是 OpenSSH忘记修改配置里Description字段改完 daemon-reload 重启服务刷新修改.service 文件后配置不生效systemd 会缓存配置修改单元文件必须执行daemon-reload服务器重启后 ssh 自动关闭执行过systemctl disable sshd使用 enable 恢复开机自启tail 查看日志提示无此文件脚本没有主动创建文件逻辑首次写入时系统自动生成日志。四、文末核心知识点总结性能监控体系stress 覆盖 CPU / 内存 / 磁盘 / 网络四类压力uptime、top、free、sar 配套定位系统瓶颈2 核服务器负载超过 2 代表 CPU 过载。systemd 服务管理systemctl 统一管控启停、重载、开机自启区分 disable仅取消自启和 mask彻底禁用无法手动启动。自定义服务标准流程编写常驻脚本 → 复制系统服务模板修改 → daemon-reload 重载配置 → enable --now 一键启动并开机自启。生产环境优势注册为 systemd 托管的进程断开 SSH 终端不会被杀死自带崩溃重启、开机自启能力稳定性远超 screen、nohup。