Linux资源-cpu
1 简单介绍
32/64位处理器指的是cpu一次能处理多少位的数据。64位处理器速度快于32位处理器,主要体现在以下两方面:
在运算能力方面,处理总长128位的指令,64位处理器只需要2个指令,而32位处理器需要4个指令;
在寻址空间方面,CPU最大能查找多大范围的地址叫做寻址能力,32位的CPU可以寻址2的32次方个地址,每个地址代表1个字节,那加起来就是4G,这也是为什么32位的CPU最大能搭配4G内存的原因,再多的话CPU就找不到了;而64位CPU最大能搭载16G的内存。
2 cpu指标

如上所示,top命令可以看到总体的系统运行状态和cpu的使用率 。
load average:表示系统最近 1 分钟、5 分钟、15 分钟的系统瓶颈负载。
%us:表示用户空间程序的cpu使用率(没有通过nice调度)
%sy:表示系统空间的cpu使用率,主要是内核程序。
%ni:表示用户空间且通过nice调度过的程序的cpu使用率。
%id:空闲cpu
%wa:cpu运行时在等待io的时间
%hi:cpu处理硬中断的数量
%si:cpu处理软中断的数量
%st:被虚拟机使用的cpu
2.1 指标范围
1)r(runq-sz)
参考值:小于4,队列大于4时,表明系统的cpu或内存可能有问题,如果r经常大于4,且id经常少于40,表示cpu的负荷很重。当队列变长时,队列中进程在等待cpu调度执行时所花的时间会变长。
2)Id(idle)
参考值:大于40,如果r经常大于4,且id经常小于40,表示cpu的负荷很重。
3)User mode CPU utilization+ System mode CPU utilization
合理值:60-85%,如果在一个多用户系统中us+sy时间超过85%,则进程可能要花时间在运行队列中等待,响应时间和业务吞吐量会受损害;us过大,说明有用户进程占用很多cpu时间,需要进一步的分析其它软硬件因素;sy过大,说明系统管理方面花了很多时间,说明该系统中某个子系统产生了瓶颈,需要进一步分析其它软硬件因素。
4)Wa(wait)
参考值:小于25%,超过25%的wa的值可以表示子系统可能没有被正确平衡,也可能是磁盘密集工作负载的结果,系统的磁盘或其它I/o可能有问题,可以通过iostat/SAR –C命令进一步分解分析。
2.2 CPU问题分析
top 系统CPU => vmstat 上下文切换次数 => pidstat 非自愿上下文切换次数 => 各类进程分析工具(perf strace ps execsnoop pstack)
top 用户CPU => pidstat 用户CPU => 一般是CPU计算型任务
top 僵尸进程 => 各类进程分析工具(perf strace ps execsnoop pstack)
top 平均负载 => vmstat 运行状态进程数 => pidstat 用户CPU => 各类进程分析工具(perf strace ps execsnoop pstack)
top 等待IO CPU => vmstat 不可中断状态进程数 => IO分析工具(dstat、sar -d)
top 硬中断 => vmstat 中断次数 => 查看具体中断类型(/proc/interrupts)
top 软中断 => 查看具体中断类型(/proc/softirqs) => 网络分析工具(sar -n、tcpdump) 或者 SCHED(pidstat 非自愿上下文切换)

浙公网安备 33010602011771号