遇到CPU使用率高的问题时应该怎么办

参考自文章 https://time.geekbang.org/column/article/70476

什么是CPU使用率
linux作为一个多任务操作系统,将每个cpu的时间划分成很短的时间片,再通过调度器轮流分配给各个任务使用,因此造成多任务同时运行的错觉。
为了维护CPU时间,linux通过事先定义好的节拍率(内核中表示为HZ),触发时间中断,并使用全局变量Jiffies记录了开机以来的节拍数,每发生一次时间中断,Jiffies的值就加1。
节拍率HZ是内核的可配置选项,可以配置为100,250,1000等,不同的系统可能设置不同的值,可以通过查询/boot/config内核选项来查看它的值

# 说明此系统每秒触发250次时间中断
grep 'CONFIG_HZ=' /boot/config-$(uname -r)
CONFIG_HZ=250

同时,正因为节拍率HZ是内核选项,所以用户空间程序并不能直接访问,为了方便用户空间程序,内核还提供了一个用户空间节拍率USER_HZ,它总是固定为100,也就是1/100秒。
linux通过/proc虚拟文件系统,向用户空间提供了系统内部的状态信息,而/proc/stat提供的就是系统cpu和任务的统计信息。比方说你只关心cpu的话,可以执行下面的命令查看

#只保留cpu的数据
cat /proc/stat | grep ^cpu
cpu  1117 730 1340 6763 155 0 207 0 0 0
cpu0 725 453 828 2981 46 0 99 0 0 0
cpu1 392 277 511 3782 109 0 108 0 0 0

命令输出的是一个表格,第一列表示哪个cpu,比如cpu0、cpu1,其中第一

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值