其他分享
首页 > 其他分享> > cpu&io密集型

cpu&io密集型

作者:互联网

  1. 通常我们说一个程序是cpu密集型就是cpu用的多,io密集型就是io用的多,这种说法对吗?
    答案是:不能算错,但也不全对。其实应该从程序的瓶颈来看待这个问题,若系统瓶颈在cpu,那就是cpu密集型;反之,若在io,则是io密集型。
    了解程序是哪种类型,对系统优化有着关键的指导作用。

  2. 比如我们平时使用的IM软件、网上商城应用都属于io密集型,因为它们主要做的事情是【高频的小数据传输与读写】,一个是网络io,一个是磁盘io。
    图像处理、加解密、序列化反序列化等则需要消耗大量的cpu计算资源。

  3. cpu使用率怎么测量?

top - 01:18:23 up 26 days,  1:46,  1 user,  load average: 0.02, 0.06, 0.09  # 最近1分钟,5分钟,15分钟的系统平均负载
Tasks:  83 total,   1 running,  82 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.7 us,  1.0 sy,  0.0 ni, 98.0 id,  0.3 wa,  0.0 hi,  0.0 si,  0.0 st  # cpu使用率:
KiB Mem :  2046840 total,    96916 free,   871284 used,  1078640 buff/cache
KiB Swap:        0 total,        0 free,        0 used.  1002840 avail Mem
[root@VM-10-10-centos ~]# cat /proc/stat
cpu  2386298 133 1512433 220167322 135603 0 17069 0 0 0
cpu0 2386298 133 1512433 220167322 135603 0 17069 0 0 0  # 每个cpu都有8个数字,表示从开机到当前的累计时间,(单位是jiffiles,时钟中断次数)
intr 1135957538 223 10 0 0 1242 0 3 0 0 0 0 0 15 0 2204533 0 0 0 0 0 0 0 0 0 0 4423071 0 12185348 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ctxt 2719534071
btime 1654615901
processes 5160015
procs_running 2
procs_blocked 0
softirq 268481450 1 149508501 2 23186582 5524440 0 16 0 0 90261908

use:cpu在用户态的运行时间
system:cpu在内核态的运行时间
nice:?
idle:cpu空闲时间 #
iowait:cpu空闲,且在等待io的时间 #
irq:硬中断时间
softirp:软中断时间
steal:?

total1 = use + system + nice + (idle + iowait) + irq + softirq + steal
used1 = use + system + nice + irq + softirq + steal

过15秒,再采集一次
total2 = use + system + nice + (idle + iowait) + irq + softirq + steal
used2 = use + system + nice + irq + softirq + steal

在这15秒内,cpu的使用率 = (used2 - used1) / (total2 - total1)
注意:使用率的计算,与采样频率有关。

标签:use,system,密集型,io,steal,cpu,nice
来源: https://www.cnblogs.com/JaxYoun/p/16441490.html