
监控系统负载摘要本文全面介绍了 Linux 系统负载监控与压力测试方法。首先解释了系统负载Load Average的概念及其三个时间维度的含义1分钟、5分钟、15分钟。然后详细讲解了如何使用 stress 工具对 CPU、内存和磁盘进行压力测试包括安装步骤、命令参数和实际测试示例。最后提供了10条实用的系统监控建议涵盖核心指标监控、专业工具部署、告警设置、日志管理、磁盘健康检查、网络安全监控等方面帮助读者建立完善的系统监控体系。文章目录**监控系统负载**1.系统负载介绍2.stress 工具压力测试-CPU压力测试-内存压力测试-磁盘3.监控建议1.系统负载介绍系统负载是衡量操作系统在一段时间内工作量的重要指标通常表示为运行队列中的平均进程数。系统负载Load Average指的是在特定时间间隔内处于可运行状态正在使用或等待 CPU和不可中断状态等待 I/O的平均进程数量。Linux 系统中通常展示三个值分别代表1 分钟平均负载反映系统当前的即时压力5 分钟平均负载反映短期趋势15 分钟平均负载反映长期趋势2.stress 工具stress 是一个用于对 Linux 系统施加可控负载的压力测试工具常用于验证系统稳定性、测试监控告警、评估散热/电源能力或基准性能对比。#安装stress工具#通过yum命令安装工具[rootcentos7 ~18:29:02]# yum install -y stress已加载插件fastestmirror, langpacks Loading mirror speeds from cached hostfile * base: mirrors.cloud.aliyuncs.com * extras: mirrors.cloud.aliyuncs.com * updates: mirrors.cloud.aliyuncs.com base|3.6kB 00:00:00 epel|4.3kB 00:00:00 extras|2.9kB 00:00:00 updates|2.9kB 00:00:00#通过stress --help查看工具用法[rootcentos7 ~18:29:21]# stress --helpstress imposes certain types of compute stress on your system Usage: stress[OPTION[ARG]]... -?,--helpshow thishelpstatement--versionshow version statement -v,--verbosebe verbose -q,--quietbe quiet -n, --dry-run show what would have beendone-t,--timeoutNtimeoutafter N seconds--backoffNwaitfactor of N microseconds before work starts -c,--cpuN spawn N workers spinning on sqrt()-i,--ioN spawn N workers spinning on sync()-m,--vmN spawn N workers spinning on malloc()/free()--vm-bytes B malloc B bytes per vm worker(default is 256MB)--vm-stride Btoucha byte every B bytes(default is4096)--vm-hang NsleepN secs beforefree(default none,0is inf)--vm-keep redirty memory instead of freeing and reallocating -d,--hddN spawn N workers spinning on write()/unlink()--hdd-bytes BwriteB bytes per hdd worker(default is 1GB)Example: stress--cpu8--io4--vm2--vm-bytes 128M--timeout10s Note: Numbers may be suffixed with s,m,h,d,y(time)or B,K,M,G(size).压力测试-CPU#设置测试的CPU数量为2[rootcentos7 ~18:30:59]# stress -c 2stress: info:[2801]dispatching hogs:2cpu,0io,0vm,0hdd#新开一个root用户的窗口通过top命令查看CPU使用情况#可以看到CPU使用率最高的两个进程都是stress测试[rootcentos7 ~18:34:22]# toptop-18:35:16 up12min,3users, load average:1.61,0.54,0.22Tasks:191total,3running,188sleeping,0stopped,0zombie %Cpu(s):99.8us,0.2sy,0.0ni,0.0id,0.0wa,0.0hi,0.0si,0.0st KiB Mem:4026120total,3127844free,485520used,412756buff/cache KiB Swap:4063228total,4063228free,0used.3302828avail Mem PIDUSERPR NI VIRT RES SHR S %CPU %MEM TIME COMMAND2802root2007312960R100.00.01:21.43 stress2803root2007312960R100.00.01:21.38 stress741root20029556452924040S0.30.10:01.12 vmtoolsd1root20012837269764196S0.00.20:01.45 systemd压力测试-内存#查看测试前内存情况[rootcentos7 ~18:36:34]# free -mtotal usedfreeshared buff/cache available Mem:39314703057144033228Swap:396703967#设定内存消耗1G[rootcentos7 ~18:39:11]# stress -m 1 --vm-bytes 1Gstress: info:[3237]dispatching hogs:0cpu,0io,1vm,0hdd#重新查看内存情况[rootcentos7 ~18:36:29]# free -mtotal usedfreeshared buff/cache available Mem:39316002927144033092Swap:396703967压力测试-磁盘#消耗磁盘IO[rootcentos7 ~18:43:35]# stress -d 1 --hdd-bytes 2Gstress: info:[3684]dispatching hogs:0cpu,0io,0vm,1hdd#下载工具#sysstatsar 数据采集安装后 默认不会自动采集历史数据需要手动启用服务#iotop实时I/O监控[rootcentos7 ~18:43:07]# yum install -y sysstat iotop已加载插件fastestmirror, langpacks Loading mirror speeds from cached hostfile * base: mirrors.cloud.aliyuncs.com * extras: mirrors.cloud.aliyuncs.com * updates: mirrors.cloud.aliyuncs.com# d:报告块设备磁盘的 I/O 活动情况# p:Pretty-print将设备名从内核内部名称转换为可读名称# 1:采样间隔为 1 秒[rootcentos7 ~18:45:57]# sar -dp 1Linux3.10.0-1160.71.1.el7.x86_64(centos7.wzt.cloud)2026年07月22日 _x86_64_(2CPU)18时47分56秒 DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util18时47分57秒 sr00.000.000.000.000.000.000.000.0018时47分57秒 sda1248.000.001277056.001023.28143.09122.240.8099.8018时47分57秒 centos-root1248.000.001276936.001023.19144.04123.680.8099.8018时47分57秒 centos-swap0.000.000.000.000.000.000.000.0018时47分57秒 centos-home0.000.000.000.000.000.000.000.003.监控建议核心指标实时监控重点跟踪 CPU 使用率用户态 / 系统态占比、内存占用含缓存 /swap 使用率、磁盘 I/O读写吞吐量、IOPS和网络流量带宽利用率、连接数。可通过top/htop实时、vmstat/iostat系统级等工具快速查看。部署专业监控工具对于服务器集群或长期监控需求建议使用 Prometheus Grafana可视化强、Zabbix全功能监控或 Nagios轻量告警等工具实现指标集中收集、趋势分析和历史数据查询。设置关键阈值告警针对核心指标配置告警阈值如 CPU 持续 5 分钟超 80%、磁盘空间不足 10%通过邮件、短信或即时通讯工具推送告警避免故障扩大。注意避免告警风暴可设置告警合并或延迟。监控进程与服务状态定期检查关键服务如 Nginx、MySQL的运行状态、进程数及资源消耗可通过systemctl status或自定义脚本实现。对异常退出的进程结合日志排查崩溃原因。日志集中管理与分析将系统日志/var/log/messages、应用日志集中存储如使用 ELK 栈关注错误信息ERROR级别、登录异常/var/log/auth.log和磁盘错误dmesg | grep error必要时配置日志告警规则。磁盘健康监控除空间使用率外需关注磁盘坏块smartctl工具检测 S.M.A.R.T 信息和文件系统完整性定期运行fsck非挂载状态下避免硬件故障导致数据丢失。网络与安全监控监控端口开放状态netstat/ss、异常连接尤其是外部 IP 的高频访问和防火墙规则生效情况。可结合tcpdump抓包分析可疑流量。定期性能基线分析记录系统正常运行时的指标基线如平均负载、内存使用峰值当指标偏离基线时及时排查避免微小异常累积成故障。自动化监控脚本对个性化需求如特定目录文件数、应用响应时间编写 Shell 或 Python 脚本定期执行检查输出结果至监控系统或直接触发告警。监控权限与安全限制监控工具的权限如仅授予读取日志和指标的权限加密传输监控数据防止监控系统本身成为安全薄弱点个性化需求如特定目录文件数、应用响应时间编写 Shell 或 Python 脚本定期执行检查输出结果至监控系统或直接触发告警。10.监控权限与安全限制监控工具的权限如仅授予读取日志和指标的权限加密传输监控数据防止监控系统本身成为安全薄弱点