运维基本功:Linux系统监控与服务管理实战手册
从负载监控到服务管理一篇文章搞定系统稳定运行的核心技能前言昨天学习了进程管理,今天更进一步——从监控系统负载到管理系统服务教你如何判断服务器是否健康、如何用sstemd优雅地管理各种服务。今天的内容分两大块监控系统负载用stress模拟压力用sar、iotop定位瓶颈Linux 服务管理systemd 架构、systemctl 实战、手把手写一个自定义服务学完今天的内容你将能独立完成线上服务器的日常监控和服务运维工作。一、系统负载深度解析1.1 负载平均值到底是什么Linux 内核以活动请求数的指数移动平均值来表示系统负载。活动请求数包含运行中进程R状态 等待IO的进程D状态指数移动平均每5秒计算一次得出 1/5/15 分钟三个值每个 CPU 核心有独立的请求队列重要Linux 的负载平均值包含对 IO 的考量。如果负载很高但 CPU 很低先检查磁盘和网络。1.2 负载值怎么解读以4 核心 CPU为例负载值每核负载状态2.920.73✅ 健康低于0.7×核心数4.481.12⚠️ 超载5.201.30 严重超载理想值长期平均负载不超过CPU核心数 × 0.7# 查看CPU核心数lscpu|grep^CPU(s):# 查看当前负载uptime# 13:47:10 up 5:01, 2 users, load average: 0.00, 0.01, 0.05# 1分钟 ↑ 5分钟 ↑ 15分钟 ↑二、压力测试工具 stressstress用于模拟各种资源的高负载是测试系统稳定性的利器。# 安装yuminstall-ystress# 基本用法stress--cpu8--io4--vm2--vm-bytes 128M--timeout10s2.1 压测 CPU# 让2个CPU核心满载stress-c2# top中可以看到2个stress进程各占100% CPUtop# %Cpu(s): 100.0 us, 0.0 sy, 0.0 id# PID USER %CPU COMMAND# 2596 root 100.0 stress# 2597 root 100.0 stress2.2 压测内存# 压测前查看内存free-m# total used free# Mem: 3931 478 1500# 占用1GB内存stress-m1--vm-bytes 1G# 再次查看free-m# Mem: 3931 1403 575 ← used增加了约1G2.3 压测磁盘 IO# 持续写入2GB数据stress-d1--hdd-bytes 2G# 用 iotop 查看实时磁盘读写yuminstall-yiotop iotop# 用 sar 查看磁盘统计yuminstall-ysysstat sar-dp1# %util 列表示磁盘繁忙程度接近100%说明IO已满2.4 压测网络# 下载大文件产生网络流量wgethttp://192.168.50.200/course-materials/iso/CentOS-7-x86_64-DVD-2207-02.iso# 监控网络带宽sar-nDEV1# rxkB/s 接收速率KB/s# txkB/s 发送速率KB/s三、监控工具总结3.1 命令速查表监控维度命令说明CPU/内存/进程top实时动态监控负载平均值uptime快速查看CPU信息lscpu查看核心数内存free -m查看内存使用磁盘IOiotop按进程查看IO磁盘统计sar -dp 1IOPS、吞吐量、利用率网络流量sar -n DEV 1收发速率进程列表ps aux静态快照3.2 监控最佳实践要点核心指标CPU使用率、内存占用、磁盘IOPS、网络带宽专业工具PrometheusGrafana可视化、Zabbix全功能告警阈值CPU持续超80%、磁盘不足10%触发告警日志监控关注/var/log/messages的错误信息磁盘健康用smartctl检测S.M.A.R.T信息建立基线记录正常运行时的指标异常时对比排查四、Linux 服务管理systemd4.1 什么是 systemdCentOS 7 开始使用 Systemd 作为系统和服务管理器PID 为 1是所有进程的“老祖宗”。# 查看 systemd 进程ps-p1# PID TTY STAT TIME COMMAND# 1 ? Ss 0:02 /usr/lib/systemd/systemd关键概念区分概念含义示例服务Service从业务角度的称呼Web服务、数据库服务守护进程Daemon提供服务的后台进程httpd、mysqldUnitsystemd 管理的系统对象sshd.service4.2 Unit 类型一览Unit类型文件后缀用途Service.service系统服务最常用Socket.socket进程间通信套接字Target.target运行级别如 multi-user.targetTimer.timer计划任务替代cronMount.mount文件系统挂载点Path.path路径监控触发服务Slice.slice资源管理4.3 systemctl 命令大全查看类命令# 查看所有已加载的unitsystemctl list-units# 查看所有unit包括未加载的systemctl list-unit-files# 查看指定类型的unitsystemctl list-units-tservice# 查看所有服务含未激活systemctl list-units--typeservice--all# 查看失败的服务systemctl--failed--typeservice# 查看定时器计划任务systemctl list-units-ttimer查看单个服务# 查看服务详细状态systemctl status sshd.service# 只看是否激活systemctl is-active sshd# 只看是否开机自启systemctl is-enabled sshdstatus 输出解读字段含义Loaded配置文件是否加载成功Active运行状态running/exited/waiting/inactiveEnabled是否开机自启enabled/disabled/staticMain PID主进程IDCGroup进程组信息控制类命令命令作用systemctl start UNIT启动服务systemctl stop UNIT停止服务systemctl restart UNIT重启服务stop startsystemctl reload UNIT重载配置不重启进程systemctl enable UNIT设置开机自启systemctl disable UNIT取消开机自启systemctl enable --now UNIT设置开机自启并立即启动systemctl mask UNIT屏蔽服务无法启动systemctl unmask UNIT取消屏蔽⚠️ reload vs restart# reload只重新加载配置文件主进程不重启无中断systemctl reload sshd# restart完全重启服务有短暂中断systemctl restart sshd五、实战开发一个自定义 systemd 服务5.1 第一步编写服务程序创建一个每5秒写日志的脚本[rootcentos7 ~]# vim /usr/local/bin/study#!/bin/bashwhiletruedoDATE$(date)echo$DATE: IM studying [ Linux ]/var/log/study.logsleep5done[rootcentos7 ~]# chmod x /usr/local/bin/study5.2 第二步创建 Unit 配置文件[rootcentos7 ~]# vim /etc/systemd/system/studyd.service[Unit] Descriptionstudy server daemon [Service] ExecStart/usr/local/bin/study [Install] WantedBymulti-user.target配置文件结构段说明[Unit]服务描述和依赖关系[Service]启动命令、重启策略等[Install]开机启动配置WantedBy5.3 第三步加载并启动服务# 1. 通知 systemd 配置文件有变化systemctl daemon-reload# 2. 设置开机自启并立即启动systemctlenablestudyd--now# 3. 查看状态systemctl status studyd# ● studyd.service - study server daemon# Loaded: loaded (/etc/systemd/system/studyd.service; enabled)# Active: active (running) since ...# Main PID: 2786 (study)# CGroup: /system.slice/studyd.service# ├─2786 /bin/bash /usr/local/bin/study# └─2788 sleep 5# 4. 验证日志tail-f/var/log/study.log# 2025年 10月 31日 星期五 16:28:29 CST: IM studying [ Linux ]5.4 systemd 服务文件存放位置路径用途优先级/etc/systemd/system/管理员自定义配置 最高/usr/lib/systemd/system/软件包默认配置 其次 修改系统自带服务时建议复制到/etc/systemd/system/再修改避免被软件包更新覆盖。情景模拟回顾上篇内容场景1后台进程管理1-1 关闭SSH终端后程序停止原因前台进程收到 SIGHUP 信号被终止方案nohup python test_stress.py 或使用screen1-2 作业控制python test_stress.py# 后台运行jobs# 查看作业fg%1# 切回前台CtrlZ# 暂停bg%1# 恢复后台运行1-3 前后台区别前台可读键盘输入终端断开则终止后台不可读键盘输入尝试读取会自动暂停passwd放后台会暂停因为需要交互式密码输入1-4 kill卡死进程kill-15PID# 优雅终止kill-9PID# 强制杀死1-5 批量清理同名进程pkillsleep# 或kill-9$(pgrepsleep)场景2系统监控2-1 ps 命令psaxf# 树形进程psaux--sort-%cpu# 按CPU排序ps-uuser1# 查看user1用户进程2-2 uptime 判断负载 CPU核心数×0.7 表示过载2-3 top 快捷键1展开多核P按CPU排序M按内存排序k杀死进程q退出2-4 用户登录查看whoami# 当前用户who# 当前登录用户w# 更详细信息last# 历史登录记录写在最后到今天为止你已经掌握了 Linux 系统管理的两大核心技能技能核心工具应用场景系统监控top、uptime、sar、iotop排查性能瓶颈、容量规划服务管理systemctl、systemd服务部署、开机自启、故障恢复核心命令速查# 监控uptime# 负载平均值top# 动态监控1/P/M/k/qlscpu# CPU信息free-m# 内存iotop# 磁盘IO按进程sar-dp1# 磁盘统计sar-nDEV1# 网络流量# 服务管理systemctl status UNIT# 查看状态systemctl start/stop/restart/reload UNIT systemctl enable/disable UNIT systemctl mask/unmask UNIT systemctl daemon-reload# 重载配置systemctl list-units-tservicesystemctl--failed点点关注持续更新欢迎技术讨论。

相关新闻

企业AI应用困境:流程与灵活如何平衡?TokenX以“大管流程,小放智能”破局!

企业AI应用困境:流程与灵活如何平衡?TokenX以“大管流程,小放智能”破局!

企业智能体要真正用起来,既要有清楚的流程,也要给 AI 足够的发挥空间。聊聊 TokenX 的做法:Pipeline in the large, Agentic in the small。 前几篇我们聊了可信判断 AI,也把它放进银行信贷资料审核里,看了一遍 AI 如何…

2026/7/23 4:51:04 阅读更多 →
采访音视频转文字大揭秘:这三款软件准确率爆表!

采访音视频转文字大揭秘:这三款软件准确率爆表!

一、引言作为一名 AI 博主,日常少不了和各种内容创作打交道。最近,我完成了一次特别有意义的采访,采访过程中录下了珍贵的音视频资料。可采访结束后,我却陷入了苦恼之中 —— 要把这些冗长的音视频转化为文字稿,手动输…

2026/7/23 4:51:04 阅读更多 →
阿里云 OSS 生命周期管理实战:6 大场景模板 + 费用速算表(建议收藏)

阿里云 OSS 生命周期管理实战:6 大场景模板 + 费用速算表(建议收藏)

从规则配置到成本优化,覆盖过期删除、存储分层、碎片清理全场景。附可直接复制的 XML/Terraform 模板和费用速算表。 前言 阿里云 OSS 的生命周期规则是存储成本优化的第一道防线——一条规则配好,每月自动省下 70-80% 的存储费用。 但现实中大量 Bucket 处于"裸奔&qu…

2026/7/23 4:51:04 阅读更多 →

最新新闻

2026.7.22:在 Visual Studio 中创建代码片段snippet

2026.7.22:在 Visual Studio 中创建代码片段snippet

在 Visual Studio 中创建代码片段snippet 在桌面或者任何位置创建一个文件:名字随便起:main.snippet <?xml version="1.0" encoding="utf-8"?> <CodeSnippets xmlns=

2026/7/23 5:30:20 阅读更多 →
基于LLM的自然语言元数据查询框架设计与Python实现

基于LLM的自然语言元数据查询框架设计与Python实现

在数据驱动的业务场景中&#xff0c;如何让非技术背景的团队成员也能高效查询和分析领域特定的元数据&#xff0c;一直是企业数据平台建设的痛点。传统 SQL 或 API 查询方式门槛较高&#xff0c;而直接开放数据库权限又存在安全风险。本文基于大语言模型&#xff08;LLM&#x…

2026/7/23 5:30:20 阅读更多 →
073、STM32Cube.AI的X-CUBE-AI扩展包使用

073、STM32Cube.AI的X-CUBE-AI扩展包使用

073 STM32Cube.AI的X-CUBE-AI扩展包使用 从一次半夜的部署失败说起 凌晨两点,板子上的红色LED疯狂闪烁——不是程序跑飞,是串口在疯狂打印“AI inference failed”。我盯着Keil调试窗口里那个诡异的0xDEADBEEF返回值,突然意识到:不是模型有问题,是X-CUBE-AI的集成步骤里…

2026/7/23 5:30:20 阅读更多 →
LiquiditySweep:为什么价格总会先突破,再反转?

LiquiditySweep:为什么价格总会先突破,再反转?

在交易市场中&#xff0c;突破一直被认为是判断趋势的重要信号。当价格突破前期高点&#xff0c;很多交易员会认为上涨行情正在形成&#xff1b;当价格跌破关键支撑&#xff0c;不少交易者也会选择顺势入场。然而&#xff0c;实际交易中&#xff0c;经常会出现这样的情况&#…

2026/7/23 5:30:20 阅读更多 →
加密算法实战指南:从对称非对称到哈希签名,工程师必懂的选型与避坑

加密算法实战指南:从对称非对称到哈希签名,工程师必懂的选型与避坑

1. 项目概述&#xff1a;为什么我们需要了解加密算法&#xff1f;在数字世界里&#xff0c;数据就是新的石油&#xff0c;而加密算法就是保护这些宝贵资源的“保险库”和“安全锁”。无论是你手机里的一张照片、一次在线支付&#xff0c;还是企业服务器上的核心商业机密&#x…

2026/7/23 5:30:20 阅读更多 →
2026年AI商品图软件推荐榜 分场景适配指南

2026年AI商品图软件推荐榜 分场景适配指南

AI商品图软件推荐榜核心解读随着电商行业流量竞争加剧&#xff0c;商品视觉素材的产出效率、质量稳定性直接影响店铺转化率与投放ROI&#xff0c;AI商品图生成工具已成为电商运营、营销团队的标配生产工具。本次推荐榜为非相对排名&#xff0c;核心参考维度为工具的区域服务覆盖…

2026/7/23 5:29:20 阅读更多 →

日新闻

从单点好评到指数级传播:AI副业主理人必须掌握的4层口碑渗透模型(含ROI测算表)

从单点好评到指数级传播:AI副业主理人必须掌握的4层口碑渗透模型(含ROI测算表)

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;从单点好评到指数级传播&#xff1a;AI副业主理人必须掌握的4层口碑渗透模型&#xff08;含ROI测算表&#xff09; 当AI副业主理人不再仅满足于单次服务交付&#xff0c;而是主动构建可复用、可裂变、可…

2026/7/23 0:00:25 阅读更多 →
AI写作开头钩子设计:为什么你的AI文案完读率不足18%?——基于2,346篇A/B测试报告的归因分析

AI写作开头钩子设计:为什么你的AI文案完读率不足18%?——基于2,346篇A/B测试报告的归因分析

更多请点击&#xff1a; https://codechina.net 第一章&#xff1a;AI写作开头钩子设计&#xff1a;为什么你的AI文案完读率不足18%&#xff1f;——基于2,346篇A/B测试报告的归因分析 在对2,346篇跨行业AI生成文案的A/B测试数据进行聚类分析后&#xff0c;我们发现&#xff1…

2026/7/23 0:01:26 阅读更多 →
Chitchatter完整指南:免费开源的终极点对点安全聊天工具

Chitchatter完整指南:免费开源的终极点对点安全聊天工具

Chitchatter完整指南&#xff1a;免费开源的终极点对点安全聊天工具 【免费下载链接】chitchatter Secure peer-to-peer chat that is serverless, decentralized, and ephemeral 项目地址: https://gitcode.com/gh_mirrors/ch/chitchatter Chitchatter是一款革命性的安…

2026/7/23 0:01:26 阅读更多 →

周新闻

Go语言静态资源打包方案对比与实践指南

Go语言静态资源打包方案对比与实践指南

1. 项目背景与核心需求在Go语言开发中&#xff0c;我们经常需要处理静态资源文件的打包问题。无论是Web应用的模板文件、前端资源&#xff0c;还是配置文件、证书等&#xff0c;都需要随程序一起分发。传统做法是将这些文件与编译后的二进制文件放在同一目录下&#xff0c;但这…

2026/7/22 8:58:19 阅读更多 →
Go语言实现高性能LDAP认证服务的架构与实践

Go语言实现高性能LDAP认证服务的架构与实践

1. 项目背景与核心价值LDAP&#xff08;轻量级目录访问协议&#xff09;作为企业级身份认证的黄金标准&#xff0c;已经服务了超过80%的财富500强公司。我在金融科技领域实施统一认证体系时&#xff0c;发现传统Java方案存在启动慢、内存占用高等痛点。而Go语言凭借其协程并发模…

2026/7/22 19:43:43 阅读更多 →
【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;AI面试官实战指南的核心价值与适用场景 AI面试官并非替代人类HR的“黑箱工具”&#xff0c;而是以可解释、可审计、可迭代的方式&#xff0c;赋能招聘全链路的关键基础设施。其核心价值在于将主观经验沉…

2026/7/22 12:54:44 阅读更多 →

月新闻