作为服务器端最常用的操作系统,linux的系统资源压力直接影响业务稳定性,不管是日常运维排查还是突发性能故障定位,快速查看核心资源压力指标都是必备技能,以下整理了生产环境最常用的查看方法,覆盖核心资源维度。

cpu是最核心的计算资源,最常用的入门工具就是top命令,打开后第一行的`load average`分别代表1分钟、5分钟、15分钟的系统平均负载,判断压力的通用标准是:负载数值超过服务器cpu核心数的80%,就说明cpu存在明显压力,比如8核服务器负载持续到7以上就要警惕。如果要查看每个核心的单独使用率,可以用`mpstat -p all 1`命令,输出中的`%idle`是空闲占比,如果持续低于10%,就说明cpu资源已经饱和。另外`vmstat`输出中,us(用户态)和sy(内核态)的cpu占比之和如果长期超过80%,也代表cpu资源存在明显瓶颈。

查看内存整体使用最常用的是`free -h`命令,很多人会错误关注free指标,实际上更准确的是`available`指标,这个值代表系统剩余可分配给新进程的内存,包含了可回收的缓存,所以如果available占总内存的比例低于10%,说明内存资源已经存在较大压力。如果要排查具体进程,可以用top命令按`%mem`列排序,快速找到占用内存最高的异常进程。另外还要关注换页指标:`vmstat`中的si(换入)和so(换出),如果so长期大于0,说明物理内存不足,系统正在频繁用swap分区补充内存,这种情况会导致整体性能骤降,说明内存压力已经严重影响业务运行。
磁盘io压力是很多新人容易忽略的性能瓶颈,用`iostat -x 1`查看,重点关注`%util`指标,这个指标代表磁盘繁忙程度,如果持续高于90%,说明磁盘io已经饱和;同时`await`指标代表io平均等待时间,超过10ms就说明io压力较大,访问延迟已经明显上升。另外用`df -h`可以查看磁盘空间使用率,占比超过90%就需要及时清理冗余文件。网络方面,可以用`ss -s`查看总连接数,如果连接数远超日常业务基线,说明存在网络压力,也可以用iftop查看实时带宽占用,确认是否被异常流量打满带宽。

日常排查中按照cpu-内存-磁盘-网络的顺序检查,就能快速定位资源瓶颈,保障业务稳定运行,全文约779字。
上一篇:剪映专业版如何添加胶卷滤镜