本文共 1935 字,大约阅读时间需要 6 分钟。
USE方法是Linux系统性能分析中的一种系统性方法。
USE 方法定义:对于所有的资源,查看它的使用率(utilizations)、饱和度(saturation)和错误(errors)。
下面我们来看它如何作为一种工具在Linux平台上实践。
CPU-使用率
(1)系统层面
实时情况
为什么不用top?top命令本身的CPU消耗很大,比较慢,容易对线上服务本身产生影响。
历史情况
如果想看以前的,可以用sar -f指定文件,文件一般在 /var/log/sa/sadd中。
修改采样频率:修改文件/etc/cron.d/sysstat
(2)进程层面
CPU使用率不高时,用top命令,输入shift-P按cpu使用率百分比从大到小排序
CPU-饱和度
(1)系统层面
实时情况
r:系统正在运行或就绪(在排队)的任务数量
当r值大于cpu数量时,说明系统负载过高
历史情况
(2)进程层面
暂无
内存-使用率
(1)系统层面
实时情况
Buffers:缓冲区高速缓存
Cached:页面缓存
实际可用内存: free + buffers + cached
历史情况
(2)进程层面
负载不高时,使用top命令,输入shift-M按内存使用百分比从大到小排序
RES:驻留内存,即实际使用的内存
VIRT:虚拟内存,即申请使用的内存
SHR:共享内存
内存-饱和度
(1)系统层面
实时情况
swap in/out有增加时表明系统内存不足
历史情况
(2)进程层面
次要缺页率(min_flt):该任务不需要从硬盘拷数据而发生的缺页(次缺页)的次数
http://www.linuxidc.com/Linux/2010-12/30589.htm
存储IO-使用率
(1)系统层面
实时情况
%util:CPU用于处理IO请求的时间百分比,当达到100%时表示IO系统满负荷(对于RAID或SSD,即使超过100%也不代表IO系统繁忙)
http://www.fwqtg.net/iostat%E4%B8%AD%E5%85%B3%E4%BA%8Eutil%EF%BC%8Csvctm%E5%AD%98%E5%9C%A8%E7%9A%84%E9%99%B7%E9%98%B1.html
历史情况
(2)进程层面
iotop命令
存储IO-饱和度
实时情况
avgqu-sz:在设备或请求队列中活跃的平均请求数
当此值大于1时或await较高时,表明IO系统请求已经过饱和了
历史情况
与查看“使用率”类似命令
存储-错误
暂无
网络接口-使用率
(1)系统层面
实时情况
历史情况
(2)TCP连接层面
暂无
4.2 饱和度
(1)系统层面
(2)TCP连接层面
LISTEN 状态: Recv-Q 表示的当前等待服务端调用 accept 完成三次握手的 listen backlog 数值,也就是说,当客户端通过 connect() 去连接正在 listen() 的服务端时,这些连接会一直处于这个 queue 里面直到被服务端 accept();Send-Q 表示的则是最大的 listen backlog 数值,这就就是上面提到的 min(backlog, somaxconn) 的值。
其余状态: 非 LISTEN 状态之前理解的没有问题。Recv-Q 表示 receive queue 中的 bytes 数量;Send-Q 表示 send queue 中的 bytes 数值。
http://jaseywang.me/2014/07/20/tcp-queue-%E7%9A%84%E4%B8%80%E4%BA%9B%E9%97%AE%E9%A2%98/
转载地址:https://blog.csdn.net/weixin_39934257/article/details/109865063 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!