Chinaunix首页 | 论坛 | 博客
  • 博客访问: 803343
  • 博文数量: 869
  • 博客积分: 201
  • 博客等级: 入伍新兵
  • 技术积分: 3376
  • 用 户 组: 普通用户
  • 注册时间: 2010-07-21 19:42
文章分类

全部博文(869)

文章存档

2014年(4)

2013年(415)

2012年(453)

我的朋友

分类:

2012-11-15 10:04:19

今天实验了一下Linux内核对实时进程的CPU bandwidth的hard limitation控制,结果发现不能修改/proc/sys/kernel下的sched_rt_runtime_us:
# echo 900000 > sched_rt_runtime_us
的时候老是出错,大意是:invalid parameter。我记得前几天在家里的电脑上是可以的,家里的内核版本是3.2.9好像,现在出错的内核版本是3.4.3,难道这么快就改了?我又google一把,发现原来问题的根源大约是这样的,/proc/sys/kernel下的sched_rt_runtime_us是全局控制的(老大,CXO级别的),因为我之前apt-get install了一个cgroup-bin(好像是),装好这东西后,我的/sys/fs目录下生成了cgroup等一大坨东西,对于cgroup也是最近刚刚接触,以前只是知道它的存在。按照这位老兄(http://feanor.sssup.it/pipermail/linux-dl/2012-February/000056.html)的说法,那么我的理解是/sys/fs/cgroup下应该是root group(算是顶级部门老大吧)的领地了,然后我检查了一下root group下cpu里的cpu.rt_runtime_us的值,发现是950000,和CXO的一样,那么我之前做的举动无疑是直接缩小CXO的权限而不涉及顶级部门的权利,这怎么行?

然后我就先行修改/sys/fs/cgroup/cpu/cpu.rt_runtime_us的值为800000,然后再把/proc/sys/kernel下的sched_rt_runtime_us改成850000,就可以了。

写这篇博文时,外面正下着雨,这天气很适合在家睡觉 :)
阅读(256) | 评论(0) | 转发(0) |
0

上一篇:assert宏用法小结

下一篇:git 和github初接触

给主人留下些什么吧!~~