Load和CPU利用率

首先,top命令是没有计算load的平均值的,top命令只不过是在不停的从/proc/loadavg文件来读取load的平均值.(strace显示top命令会打开/proc/loadavg并且会定期从中读取load的平均值信息).当使用man proc的时候,会有如下说明:

/proc/loadavg

该文件的前三个属性,分别表示在1分钟,5分钟和15分钟内,任务队列中进程的平均个数.

任务需保证:

  1. 进程状态是R
  2. 进程在等待磁盘IO,状态是D

这3个数字也可以通过一些其他的命令来获取,比如uptime等命令.而第四个属性包括两个数字,以/分开.第一个数字是当前内核调度实体的数量(进程,线程);这个数字会低于或者等于CPU的个数.而/后面的数字表示在当前系统中存在的内核调度实体个数.第5个属性则是操作系统最常创建进程的PID.

所以说,load average只是表示运行队列中运行任务的多少.并且,开发者从top中只能看到1分钟,5分钟和15分钟的平均值.如果开发者运行cat /proc/loadavg那么将会看到文件中的其它属性值.

前面描述的load average的描述是来自于man的,但是其实经过测试,貌似并非十分准确.我写了一个简单的java程序来创建256个线程,代码如下:

import java.lang.Thread;
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值