免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3271 | 回复: 8
打印 上一主题 下一主题

系统调用sysinfo得到的系统负载问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-09-06 13:18 |只看该作者 |倒序浏览
用sysinfo得到的系统1,5,15分钟内的负载值都好大,比如:10220  5223  3423
而用uptime, top之类系统命令得到的负载都是0.01  0.03  0.05 之类的数字(这个比较合乎对负载的解释)
不知道如何将sysinfo得到的值转换为uptime所看到的负载值以及sysinfo得到的负载是什么意思?

[ 本帖最后由 mike_chen 于 2006-9-6 14:31 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2006-09-06 13:34 |只看该作者
在线等...

论坛徽章:
0
3 [报告]
发表于 2006-09-06 14:32 |只看该作者
各位大侠太不地道,就在这看我擦汗也不指点迷经,伤心中...

论坛徽章:
0
4 [报告]
发表于 2006-09-06 16:22 |只看该作者
呵呵,也不是不地到,只是就我本人来说,确实不知道,否则瞎说不就浪费版面了,
给个建议吧,不要用系统调用sysinfo(), 改用读取/proc/loadavg, 其中的值与uptime命令中的值是一样的。

论坛徽章:
0
5 [报告]
发表于 2006-09-06 16:28 |只看该作者
原帖由 seeLnd 于 2006-9-6 16:22 发表
呵呵,也不是不地到,只是就我本人来说,确实不知道,否则瞎说不就浪费版面了,
给个建议吧,不要用系统调用sysinfo(), 改用读取/proc/loadavg, 其中的值与uptime命令中的值是一样的。

这个我知道 只不过不知道sysinfo得到数据的原因就是不甘心 决定去看源码去 我还不信了!

论坛徽章:
0
6 [报告]
发表于 2006-09-07 02:07 |只看该作者
你先看看struct sysinfo的定义

  1. struct sysinfo {
  2.                    long uptime;
  3.                    unsigned long loads[3];
  4. ...
复制代码

他怎么可能得到像uptime一样的浮点结果呢?

sysinfo 表示的应该是单位时间内jiffies的某种合运算(瞎猜的),拿它跟/proc/stat相除,结果就跟uptime的类似了
至少,两组结果的比值是一样的,期待你的研究结果,我也想知道具体表示的数值意义是什么

  1. [root@Galaxy root]#cat /proc/loadavg; ./sysinfo
  2. 0.36 0.08 0.02 1/20 1248
  3. 23424 5408 1632
复制代码

论坛徽章:
0
7 [报告]
发表于 2006-09-07 09:37 |只看该作者
我看个一下KENREL代码,印象是:

将sysinfo()返回的3个LOAD数字除32得到整数。

该整数的含义是
bit 0-10 代表小数部分,如果全部是1,就是0.99999999999999999999999999999999
bit 11-31代表整数部分。1就是1,2就是2

实际可以除2048得到整数,%2048得到小数
这样和uptime的是一样的

论坛徽章:
0
8 [报告]
发表于 2006-09-07 09:51 |只看该作者
原帖由 思一克 于 2006-9-7 09:37 发表
我看个一下KENREL代码,印象是:

将sysinfo()返回的3个LOAD数字除32得到整数。

该整数的含义是
bit 0-10 代表小数部分,如果全部是1,就是0.99999999999999999999999999999999
bit 11-31代表整数部分。1就 ...

gao, shi zai shi gao!

论坛徽章:
0
9 [报告]
发表于 2006-09-07 09:52 |只看该作者
to mike_chen,

高什么。要不是斑竹我就不会看这个问题了。我原来也不知道细节。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP