你了解CONFIG_HZ 和 USER_HZ的区别?.doc
《你了解CONFIG_HZ 和 USER_HZ的区别?.doc》由会员分享,可在线阅读,更多相关《你了解CONFIG_HZ 和 USER_HZ的区别?.doc(2页珍藏版)》请在三一文库上搜索。
1、你了解CONFIG_HZ 和 USER_HZ的区别?-paeCONFIG_HZ_250=yCONFIG_HZ=250有意思的是,systemtap tutorial有个比较好玩的实验,也可以确定CONFIG_HZ的大小。global count_jiffies,count_msprobe TImer.jiffies(100)count_jiffies+probe TImer.ms(100)count_ms+probe TImer.ms(543210)hz=(1000*count_jiffies)/count_msprintf(jiffies:ms ratio %d:%d = CONFIG_HZ
2、=%dn,count_jiffies,count_ms,hz)exit()输出如下:jiffies:ms ratio 1358:5420=CONFIG_HZ=250实验等待的时间有点久,需要等待543210ms,9分钟左右,时间越久,误差越小,如果等待的时间段一些,会出现误差。感兴趣的筒子自行实验。 除此外,还有一个值是USER_HZ,不了解这个的,可能会了解TImes系统调用,这个系统调用是统计进程时间消耗的,#includeclock_t times(struct tms*buf);times系统调用的时间单位是由USER_HZ决定的,所以,times系统调用统计的时间是以10ms为单位的
3、。说100HZ空口无凭,如何获取USER_HZ。#include#include#include#include#includeintmain()intuser_ticks_per_second;user_ticks_per_second=(int)sysconf(_SC_CLK_TCK);if(user_ticks_per_second=-1)fprintf(stderr,failed to get ticks per second by sysconfn);return-1;printf(The Number of USER ticks per second is %dn,user_ticks_per_second);return 0;输出如下:The NumberofUSER ticks per second is 100如果你嫌用C代码调用SYSCONF太麻烦了,可以通过shell命令getconf获得USER_HZ的值: rootmanu:/code/c/self/ticks# getconf CLK_TCK100times系统调用来统计进程信息我不建议使用了,精度太低了。提出这个USER_HZ,只是希望不要困惑,为什么CONFIG_HZ是250,而sysconf(_SC_CLK_TCK)却是100.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 你了解CONFIG_HZ USER_HZ的区别? 了解 CONFIG_HZ USER_HZ 区别
链接地址:https://www.31doc.com/p-3381532.html