-
概述:USE方法就是检查资源的使用率(utilizations)、饱和度(saturation)、错误(errors)状态,从而分析系统资源瓶颈和错误的方法;
-
物理资源:LPE即Linux性能事件、CPC即CPU性能计数器
模块 类型 指标 CPU 利用率 每个CPU: mpstat -P ALL、sar -P ALL
系统范围:vmstate l、sar -u、dstat -c
每个进程:top、htop、ps -o pcpu、pidstat l
每个内核线程:top/htop(按K转换显示)饱和度 系统范围:vmstat l、sar -q、dstat -p
每个进程:/proc/[pid]/shedstat、getdelays.c(显示每次调度的平均和最大延时)错误 若处理器特定错误事件CPC可用,使用perf(LPE); 内存容量 利用率 系统范围:free -m,Mem(主存)、Swap(虚存)、vmstat l、sar -r、dstat -m
每个进程:top/htop,RES项(主存)、VIRT项(虚存)、Mem项(系统范围内的总计)饱和度 系统范围:vmstat l,si/so项、sar -W
每个进程:getdelays.c,SWAP项、dmesg | grep killed(OOM进程终结者)错误 dmesg可得到物理失效 存储设备I/O 利用率 系统范围:iostat -xz l,%util、sar -d,%util
每个进程:iotop饱和度 iostat -xnz l、sar -d,查看 avgqu-sz>1
或者较高的await
错误 smartctl、/sys/devices/…/ioerr_cnt 网络接口 利用率 ip -s link,RX/TX吞吐量除以最大带宽
sar -n,DEV项
/proc/net/dev,RX/TX吞吐量字节数除以最大值饱和度 ifconfig,overruns项、dropped项; 错误 ifconfig,errors项、dropped项; 存储容量 利用率 swap:swapon -s
free
文件系统: df -h
/proc/meminfo存储控制器 利用率 iostat -xz l
,把设备的数值加起来与已知的每张卡IOPS/吞吐量
进行对比网络控制器 利用率 从 ip -s link
和已知控制器的最大吞吐量推断出接口类型CPU互联 利用率 LPE(CPC)获得CPU互联端口,用吞吐量除以最大值 … LPE(CPC)获取停滞周期、LPE(CPC)得到的所有信息 内存互联 利用率 LPE(CPC)获得内存总线,用吞吐量除以最大值 … LPE(CPC)获取停滞周期、LPE(CPC)得到的所有信息 I/O互联 使用率 LPE(CPC)获得吞吐量除以最大值 … LPE(CPC)获取停滞周期、LPE(CPC)得到的所有信息 -
软件资源
内核态互斥量 利用率 对锁函数或者指令进行动态跟踪 饱和度 对锁函数或者指令进行动态跟踪 用户态互斥量 利用率 valgrind --tool=drd --exclusive-threshold=…(持有时间) 饱和度 valgrind --tool=drd可根据持有时间推断竞争情况 错误 valgrind --tool=drd提示的各种错误
pthread_mutex_lock()的返回值任务容量 利用率 top/htop,tasks项
sysctl,kernel.threads-max项饱和度 被阻塞在内存分配上的线程数 错误 ”can;t fork()“错误、pthread_create()错误返回值、kernel_thread()错误返回值 文件描述符 利用率 系统范围:sar -v,file-nr项、dstat --fs,files项
每个线程:ls /proc/[pid]/fd | wc -l 对比 ulimit -n错误 在返回文件描述符的系统调用上
Linux下的USE法
最新推荐文章于 2023-01-21 23:50:42 发布
本文介绍了USE方法,用于分析系统资源的利用率、饱和度和错误状态,涵盖CPU、内存、存储I/O、网络和软件资源等多个层面。通过工具如mpstat、iostat、sar、free等收集数据,诊断系统瓶颈和错误,确保系统稳定运行。
摘要由CSDN通过智能技术生成