Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1569822
  • 博文数量: 77
  • 博客积分: 1205
  • 博客等级: 少尉
  • 技术积分: 4476
  • 用 户 组: 普通用户
  • 注册时间: 2010-04-22 21:48
文章分类
文章存档

2018年(1)

2017年(1)

2015年(1)

2014年(18)

2013年(12)

2012年(44)

分类: LINUX

2012-10-30 14:46:43

今天实验了一下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也是最近刚刚接触,以前只是知道它的存在。按照这位老兄()的说法,那么我的理解是/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,就可以了。

写这篇博文时,外面正下着雨,这天气很适合在家睡觉 :)
阅读(11531) | 评论(2) | 转发(1) |
给主人留下些什么吧!~~

MagicBoy20102012-10-31 10:21:44

Bean_lee: 学习了,知道有这个东西,没有动手改过。
cgroup前一阵子玩进程调度的时候,做过简单的实验,了解不深啊.....
这个东西我们要用,打算下一盘很大很大的棋
其实还有一个我没说到,CPU Bandwidth Control...

Bean_lee2012-10-30 21:57:35

学习了,知道有这个东西,没有动手改过。
cgroup前一阵子玩进程调度的时候,做过简单的实验,了解不深啊