简介:本文系统梳理Linux服务器性能监控的核心指标,涵盖CPU、内存、磁盘I/O、网络四大维度,提供监控工具与优化方案,助力运维人员精准定位性能瓶颈。
CPU使用率是衡量处理器工作负载的核心指标,反映CPU在采样周期内执行非空闲任务的时间占比。Linux系统通过/proc/stat文件获取CPU时间统计,关键字段包括:
user:用户态程序执行时间nice:低优先级进程执行时间system:内核态执行时间idle:空闲时间iowait:等待I/O完成时间监控工具:
# 使用top命令实时查看top -n 1 | grep "^%Cpu"# 使用mpstat工具(sysstat包)mpstat -P ALL 1 # 查看各核心使用率
优化建议:
iowait占比超过20%时,需检查磁盘I/O性能system使用率可能提示内核参数需要调优上下文切换指CPU在不同进程/线程间切换的次数,过高会导致性能下降。通过vmstat工具监控:
vmstat 1 | awk '/cs/ {print "Context Switches:", $1}'
优化策略:
Linux内存管理分为物理内存和交换分区(Swap),关键指标包括:
MemTotal:总物理内存MemFree:完全未使用的内存Buffers:内核缓冲区内存Cached:页面缓存内存SwapUsed:已使用的交换空间监控方法:
free -h # 人类可读格式cat /proc/meminfo | grep -E "MemTotal|MemFree|Buffers|Cached|SwapTotal|SwapFree"
优化建议:
SwapUsed持续增长时,考虑增加物理内存vm.swappiness参数(默认60)控制Swap使用倾向Slab内存使用,防止内核对象缓存过度缺页中断分为两种类型:
监控工具:
pidstat -r 1 # 查看进程级缺页中断
优化方案:
mlock()系统调用锁定关键内存区域磁盘性能的核心指标包括:
监控工具:
# 使用iostat查看磁盘统计iostat -x 1 # 显示扩展统计# 关键列说明:# r/s: 每秒读请求数# w/s: 每秒写请求数# await: I/O平均等待时间(ms)# svctm: I/O平均服务时间(ms)# %util: 设备利用率
优化策略:
noatime)Linux通过页面缓存和目录项缓存提升性能:
# 查看缓存使用情况cat /proc/meminfo | grep -E "Cached|Dirty|Writeback"
调优建议:
vm.dirty_ratio(脏页比例阈值)vm.dirty_background_ratio(后台回写阈值)pdflush线程参数优化脏页回写关键监控指标包括:
监控工具:
# 使用nload查看实时带宽nload eth0# 使用sar工具(sysstat包)sar -n DEV 1 # 网络设备统计
优化方案:
net.ipv4.tcp_window_scaling)net.ipv4.tcp_rmem/tcp_wmem)net.nf_conntrack_max)
# 查看TCP连接状态ss -s # 汇总统计ss -tulnp | awk '/tcp/ {print $1,$3,$5}' # 详细连接
常见问题处理:
TIME_WAIT过多:调整net.ipv4.tcp_tw_reuseCLOSE_WAIT堆积:检查应用层连接关闭逻辑SYN_RECV拒绝服务:配置net.ipv4.tcp_syncookies
# 安装sysstat包(包含iostat/mpstat/sar)sudo apt install sysstat# 配置sysstat日志收集(默认每10分钟一次)sudo vim /etc/default/sysstatENABLED="true"
Prometheus配置示例:
# node_exporter配置scrape_configs:- job_name: 'node'static_configs:- targets: ['localhost:9100']
基准测试阶段:
sysbench进行标准化测试问题定位阶段:
strace跟踪系统调用perf进行性能分析参数调整阶段:
验证阶段:
现象:查询延迟增加,iowait高达40%
诊断:
iostat显示磁盘利用率100%vmstat显示大量块设备I/Oinnodb_buffer_pool_size至可用内存的70%现象:连接数达到2000后性能骤降
诊断:
ss显示大量TIME_WAIT状态连接netstat -s显示TCP重传增加net.ipv4.tcp_tw_reusenet.core.somaxconn至4096结语:Linux服务器性能优化是一个持续迭代的过程,需要建立系统化的监控体系,结合业务特点制定调优策略。建议运维团队建立性能知识库,记录典型问题解决方案,形成可复用的优化方法论。通过科学监控与精准调优,可显著提升系统资源利用率,降低运营成本,为企业数字化转型提供坚实的技术支撑。