如何开始将现有的cpu调度改为linux中的组调度

时间:2016-04-23 16:39:53

标签: linux linux-kernel cpu scheduling

以下是我对问题的理解:

我们被要求更改现有的cpu调度程序,它只是根据有多少进程来分割cpu使用情况。 它不关心基团。

(我在终端中使用“groupadd”创建了2个组,使用“useradd”创建了3个用户。

然后我使用“usermod -G ...”将这些用户添加到组中。

group1: user1,user2

group2: user3。

user1运行2个进程

user2运行1个进程

user3运行1个进程

当我使用“top”命令查看所有正在运行的进程时,我可以看到它们都使用了〜%25的cpu。)

但我想要实现的目标是:(我相信它被称为“群组安排”)

group1和group2获得%50

所以,

user1的进程获得%12,5%12,5,

user2的进程获得%25,

user3的进程获得%50)

作为一个完整的初学者(我只知道如何进行系统调用,你知道如何让一个进程'好,反...值),我不知道如何开始这个。

的linux /内核/ sched.c中

的linux /包括/ LINUX / sched.h中

的linux /内核/ fork.c

的linux /包括/ ASM-I386 / param.h

我尝试检查这些文件,但我甚至不知道我在寻找什么。我真的迷失在这里。你能给我一个起点吗?关于要改变什么或者添加什么和在哪里添加的提示?

1 个答案:

答案 0 :(得分:0)

如果您正在使用debian系统安装

apt-get install cgroup-tools

有关详细信息,请查看其手册页。一如既往的起点是手册页

man cgrules.conf

您可以按如下方式设置规则(摘自手册页)

Rules have two formats:

           <user>                   <controllers>       <destination>
           <user>:<process name>    <controllers>       <destination>
.....
.....
peter           cpu             test1/
%               memory          test2/

手册页有很多信息。