理解CPU使用率和CPU上下文切换

本文探讨了如何分析CPU使用率,通过top和pidstat命令,并讲解了CPU上下文切换,包括自愿和非自愿上下文切换的含义。通过对vmstat输出的解读,指出上下文切换和中断次数过多可能引发的性能问题,并提示需要根据上下文切换类型进行具体分析。
摘要由CSDN通过智能技术生成

1、CPU使用率

1.1 CPU使用率查看

当发现服务或机器卡的时候,我们都是先通过top命令查看服务器CPU使用率

#默认每3秒刷新一次
top
top - 18:10:58 up 1216 days, 7:38, 4 users, load average: 23.06, 24.54, 23.72
Tasks: 839 total, 15 running, 824 sleeping, 0 stopped, 0 zombie
%Cpu(s): 4.2 us, 0.7 sy, 0.0 ni, 94.7 id, 0.3 wa, 0.0 hi, 0.1 si, 0.0 st
KiB Mem : 26390464+total, 3420264 free, 44052232 used, 21643214+buff/cache
KiB Swap: 7812092 total, 7812092 free, 0 used. 11175941+avail Mem

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
15135 postgres 20 0 98.579g 2.376g 2.375g R 52.9 0.9 131:00.20 postgres

18147 postgres 20 0 98.628g 29640 25648 R 52.9 0.0 0:00.09 postgres

15438 postgres 20 0 98.628g 136444 128192 S 41.2 0.1 0:01.02 postgres

18244 postgres 20 0 98.628g 18608 15440 S 29.4 0.0 0:00.05 postgres

18276 postgres 20 0 98.628g 18848 15564 S 17.6 0.0 0:00.03 postgres

输出结果字段解释如下:

  • user(通常缩写为 us),代表用户态 CPU 时间。注意,它不包括下面的 nice 时间,但包括了 guest 时间。
  • nice(通常缩写为 ni),代表低优先级用户态 CPU 时间,也就是进程的 nice 值被调整为 1-19 之间时的 CPU 时间。这里注意,nice 可取值范围是 -20 到 19,数值越大,优先级反而越低。
  • system(通常缩写为 sys),代表内核态 CPU 时间。
  • idle(通常缩写为 id),代表空闲时间。注意,它不包括等待 I/O 的时间&#x
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值