cpuset cgroup

160 阅读1分钟

cpuset 的作用是什么?

为进程的执行指定绑定的cpu 以及 对应的内存节点。

cpuset 暴露出的配置文件有哪些?

cpuset.cpus  设置程序所固定使用的cpu,文件之中填的是,cpu编号,或者cpu范围指定允许访问的cpu列 表,cpu之间以逗号分隔。

cpuset.mems 文件之中填内存节点号 或者是 内存节点范围指定允许访问的内存节点列表

注意:需要同时设置 cpuset.cpus cpuset.mems 文件,不同向cgroup.procs文件之中写入id的时候,会出现问题。

实验:

  目的:验证cpuset的作用

  1: 在cpuset 下 创建cgroup test 

     mkdir /sys/fs/cgroup/cpuset/test 

  2: 设置程序的运行只能在1号cpu执行

     echo 1 > /sys/fs/cgroup/cpuset/test/cpuset.cpus

 3: 设置程序所能使用的内存节点

      echo 0 >  /sys/fs/cgroup/cpuset/test/cpuset.mems

  4: 将当前进程id 设置为对应的进程号 

     echo $$ > /sys/fs/cgroup/cpuset/test/cgroup.procs

   5: 执行会占据一个cpu 100% 的程序 

        while :; do echo test > /dev/null; done

    6: 在另一个命令行界面,查看当前cpu的使用率

         top ,然后按1