cpu分析
一、监控

top命令详解:
top :时间格式为分,如上图表示已经运行1566天23小时49分钟。能够较好的反映当前系统的高可用性。
users:表示当前的用户数,如图表示6个用户登录该系统。
load average:表示服务器的负载情况,分别指1分钟,5分钟,15分钟内的负载量,
load指标说明:
load<0.7*processor(CPU线程数) 表示当前系统运行良好
1*processor<load<3*processor,需要参考内存、CPU、网络和IO等指标
load>5*processor 表示负载过大
实时负载通过r+d来计算
Tasks:
1、total :当前系统的总线程数
2、running:当前系统正在运行的线程数
3、sleeping:当前系统阻塞的线程数
4、stopped:中止进程数
5、zombie:僵尸进程数
CPU:
- US:用户态CPU使用率
- SY:内核态CPU使用率
- ni:用户进程空间改变过优先级的进程CPU占用率
- id:空闲的CPU
- wa:等待输入输出IO使用CPU占比(wa:使用过高时,要考虑IO的性能是否有瓶颈,可以使用iostat,sar命令进一步分析)
- hi:硬中断占用CPU百分比
- 可以使用命令查看硬件中断 cat /proc/interrupts > hil.txt;sleep 2;cat /proc/interrupts > hi2.txt vimdiff hil.txt hi2.txt
- 也能使用/proc/interrupts > hil.txt;sleep 2;cat /proc/interrupts > hi2.txt 然后使用vim查看hi1.txt 然后切换到vim的命令行下vsplit hi2.txt
- hi:使用率过高时,表示当前硬件中断占用很大的百分比。一般硬件中断可以分析文件/proc/interrupts,/proc/irq/pid/smp_affinity、服务irqbalance是否配置,以及CPU的频率设置,通过这些可以帮助系统打散优化系统的硬件中断
7.si:软中断占用CPU百分比
- 从网卡过来的数据包多(收发包多),如果si高则看网络收发包高的进程
- Linux kernel通过一种软件的方法来模拟硬件中断模式,是为软中断。常见的一般软中断一般都是和网络相关,从网卡到IP层的数据报文收发都是由软件中断来处理的,长时间的写日志也可能产生软中断
- 当软件中断出现瓶颈时,系统有个进程ksofttirqd,每个CPU都有自己对应的ksofttirqd/n(n为CPU的逻辑ID),每个ksofttirqd的内核线程都会去运行对应的ksofttirqd()函数来处理自己的中断队列上的软件中断,所以当网络出现阻塞的时候,软件中断程序ksofttirqd肯定出现瓶颈。可以通过ps命令查看进程ksofttirqd的使用信息 ps aux|grep ksofttirqd
8.st:虚拟机使用CPU占用率。一个宿主机下存在多个虚拟机时,比较忙的虚拟机会抢占比较空闲的虚拟机资源
9.CPU(S):CPU占用率的平均值。
KiB
Mem : 2679236 total, 2465080 free, 99964 used, 114192 buff/cache
物理内存:总内存,空闲内存,使用中的内存,用作内核缓存的内存。
KiB Swap: 262140 total, 262140 free, 0 used. 2439240 avail Mem
虚拟内存交换区:总交换区,空闲交换区,使用中的,缓冲的交换区总量。
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
PID — 进程id
USER — 进程所有者
PR — 进程优先级
NI — nice值。负值表示高优先级,正值表示低优先级 V
IRT — 进程使用的虚拟内存总量,单位kb。
VIRT=SWAP+RES RES — 进程使用的、未被换出的物理内存大小,单位kb。
RES=CODE+DATA SHR — 共享内存大小,单位kb
S — 进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程
%CPU — 上次更新到现在的CPU时间占用百分比
%MEM — 进程使用的物理内存百分比
TIME+ — 进程占用的CPU时间总计,单位1/100秒
COMMAND — 进程名称(命令名/命令行)
top使用方法
使用格式:
top [-] [d] [p] [q] [c] [C] [S] [s] [n]
参数说明:
d:指定每两次屏幕信息刷新之间的时间间隔。当然用户可以使用s交互命令来改变之。
p:通过指定监控进程ID来仅仅监控某个进程的状态。
q:该选项将使top没有任何延迟的进行刷新。如果调用程序有超级用户权限,那么top将以尽可能高的优先级运行。
S:指定累计模式。
s:使top命令在安全模式中运行。这将去除交互命令所带来的潜在危险。
i:使top不显示任何闲置或者僵死进程。
c:显示整个命令行而不只是显示命令名。
free命令:显示内存状态
uptime命令
常用命令详解:
二、问题定位

浙公网安备 33010602011771号