企业运维必学的Linux服务器性能调优命令

0 次浏览 软开宝编辑
服务器运维托管
企业运维必学的Linux服务器性能调优命令

Linux服务器上线后,性能调优是运维人员的日常工作。掌握常用的调优命令,能够在最短时间内定位瓶颈并进行优化。本文汇总生产环境最实用的Linux性能调优命令及其典型用法。

系统整体性能查看

top命令是系统管理员最常用的工具,实时显示CPU、内存、进程等信息。按P键按CPU排序,按M键按内存排序,快速找出最消耗资源的进程。htop是增强版,支持色彩显示和鼠标操作,体验更友好。uptime命令查看系统运行时间和平均负载,判断系统是否过载。平均负载需要结合CPU核心数解读,如果负载值除以核心数超过零点七就说明负载较高,超过一说明过载。使用dmesg可查看内核日志,OOM Killer触发的通知往往隐藏在这里。

CPU性能分析命令

mpstat可查看每个CPU核心的使用情况,帮助判断多核心负载是否均匀。perf是强大的性能分析工具,能统计CPU周期、缓存命中率、分支预测等硬件层面数据。对于CPU密集型应用,使用perf top可实时查看热点函数,定位哪些代码消耗最多的CPU时间。vmstat输出的us、sy、id、wa列也提供了重要的CPU性能信息。us偏高说明用户态程序占用了大量CPU,sy偏高说明系统调用或内核操作频繁,wa偏高说明磁盘I/O正在拖慢处理速度。strace可以跟踪进程的系统调用,排查某个进程为何消耗大量CPU。

内存调优命令

free命令快速查看内存总量、已用量和可用量,加-h参数以人类可读格式显示。smem可查看更准确的内存占用,包括PSS比例集大小指标。valgrind的massif工具能分析程序堆内存使用变化。当内存紧张时,查看proc下的meminfo获取详细内存分布。调整内核参数vm.overcommit_ratio可控制内存过量分配比例。vm.overcommit_memory设为2会禁止内存过量分配,防止单进程耗尽系统内存。slabtop查看内核slab缓存使用情况,某些内核模块的slab泄漏也会导致可用内存不断减少。

磁盘I/O调优命令

iostat是磁盘性能分析的核心工具,重点关注await和svctm两个指标。await反映I/O请求的平均等待时间,svctm反映设备处理时间。两者接近说明磁盘响应正常,差距过大说明存在排队。iotop可实时查看哪些进程在大量读写磁盘,定位I/O消耗源。dd命令可简单测试磁盘读写速度。文件系统层面,调整mount参数如noatime可减少不必要的磁盘写入。对于机械硬盘,使用hdparm调整预读参数可以提升顺序读写性能。对于SSD,启用TRIM指令可以维持长期写入性能不衰减。

网络性能诊断命令

ss用于查看网络连接状态和端口监听情况,比netstat更快更准确。sar -n DEV可查看历史网络流量统计。tc命令用于流量控制,可限制特定端口的带宽或设置优先级。ethtool查看和调整网卡参数,如开启TSO和GRO可减少CPU负担提升网络吞吐。ping和mtr用于诊断网络延迟和丢包。iperf可测试服务器之间的实际带宽,排除中间网络设备的限制。网络性能调优是一个反复迭代的过程。软开宝建议运维人员先建立性能基线,每次调优后对比数据确认效果,避免盲目调整参数导致系统不稳定。