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:

  1. US:用户态CPU使用率
  2. SY:内核态CPU使用率
  3. ni:用户进程空间改变过优先级的进程CPU占用率
  4. id:空闲的CPU
  5. wa:等待输入输出IO使用CPU占比(wa:使用过高时,要考虑IO的性能是否有瓶颈,可以使用iostat,sar命令进一步分析)
  6. 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命令

常用命令详解:

 

二、问题定位

 

posted @ 2022-04-27 17:47  ZYFF  阅读(268)  评论(0)    收藏  举报