简介:本文全面总结Linux服务器性能监控的核心指标,涵盖CPU、内存、磁盘I/O、网络及系统级参数,提供监控工具与优化策略,助力运维人员高效诊断与调优。
在云计算与大数据时代,Linux服务器作为核心基础设施,其性能稳定性直接影响业务连续性。本文系统梳理了Linux服务器性能监控的关键指标,包括CPU、内存、磁盘I/O、网络及系统级参数,结合监控工具(如top、vmstat、iostat)与优化策略,为运维人员提供从诊断到调优的全流程指导。
top -H查看线程级CPU使用)。优化建议:
perf top定位高CPU消耗函数,优化代码逻辑。
vmstat 1 | awk '/cs/ {print "Context Switches: " $14 "/s"}'
mpstat -P ALL 1 | grep -A 5 "%usr" # 查看各核负载
free -h # 人类可读格式cat /proc/meminfo | grep -E "MemTotal|MemFree|Buffers|Cached"
Available Memory(free -h输出)低于10%时,可能触发OOM Killer。
swapon --show # 查看交换分区vmstat 1 | awk '/si/ {print "Swap In: " $16 " KB/s"} /so/ {print "Swap Out: " $17 " KB/s"}'
swappiness值(默认60),降低交换倾向:
echo 10 > /proc/sys/vm/swappiness # 推荐值10-30
valgrind(开发阶段)、pmap(生产环境)。
pmap -x <PID> | sort -n -k3 | tail -n 20 # 查找进程内存占用TOP20
iostat -x 1 # 查看%util(设备利用率)、await(I/O等待时间)
ext4的data=writeback模式)。libaio)或缓存层(如Redis)。drop_caches释放:
sync; echo 3 > /proc/sys/vm/drop_caches # 谨慎使用
vm.vfs_cache_pressure(默认100)控制缓存回收优先级。
iftop -i eth0 # 实时流量监控nload eth0 # 分入/出方向显示
echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.confsysctl -p
ss -s # 汇总统计netstat -anp | grep -E "TIME_WAIT|CLOSE_WAIT" | wc -l
net.ipv4.tcp_max_tw_buckets(默认180000)。
uptime # 直接显示负载值w # 结合用户数分析
cat /proc/interrupts # 查看中断分布mpstat -P ALL 1 | grep -E "SOFTIRQ|IRQ"
echo f > /sys/class/net/eth0/queues/rx-0/rps_cpus
sar -u 1 3 # 每秒1次,共3次CPU报告
场景:某电商网站响应延迟突增至2秒。
诊断步骤:
top发现java进程CPU占用90%。jstack定位到GC频繁(Full GC每秒1次)。vmstat显示内存free仅剩500MB,交换分区活跃。-Xmx4g)。Linux服务器性能优化是一个系统工程,需结合监控数据与业务场景进行针对性调优。建议运维人员建立常态化监控体系,定期进行压力测试(如使用sysbench),并关注内核新特性(如eBPF)带来的性能提升机会。通过持续迭代,可实现服务器资源的高效利用与业务稳定性的双重保障。