linux centos7 cgroup 命令行操作

1, lssubsys -am 查看系统中已经存在的参cgroup子系统以及子系统的挂载点:
         cpuset /sys/fs/cgroup/cpuset
cpu,cpuacct /sys/fs/cgroup/cpu,cpuacct
memory /sys/fs/cgroup/memory
devices /sys/fs/cgroup/devices
freezer /sys/fs/cgroup/freezer
net_cls /sys/fs/cgroup/net_cls
blkio /sys/fs/cgroup/blkio
perf_event /sys/fs/cgroup/perf_event
hugetlb /sys/fs/cgroup/hugetlb
memory /sys/fs/cgroup/memory

2, 命令行挂载和卸载子系统:
    # umount /sys/fs/cgroup/memory/  
    执行后lssubsys -am 就不会看到memory 子系统的挂载点了
    #mount -t cgroup -o memory memory111 /sys/fs/cgroup/memory/
     在这条命令中 memory是要挂载的cgroup子系统名称, memory111 是在/proc/mounts文件中显示的名称
               #cat /proc/mounts就会看到一行    memory111 /sys/fs/cgroup/memory cgroup rw,relatime,memory 0 0

3, 在linux系统中有/etc/cgconfig.conf 文件,在这个文件里面可以创建自动开机自动启动的挂载条目:
      
      mount {#定义需要创建的cgroup子系统及其挂载点,这里创建cpu与cpuacct(统计)两个cgroup子系统
                     cpu = /mnt/cgroups/cpu;
                     cpuacct = /mnt/cgroups/cpu;
              }
4, 命令行创建控制组群:
#cgreate -g memory:/test
运行后就会在memory挂载目录下/sys/fs/cgroup/memory/ 目录下看到一个新的目录test,这个就是新创建的memory子控制组群
#cgdelete -g memory:/test
运行后就会删除memory的子控制组群test 5,设置组群参数: 假设 存在/sys/fs/cgroup/cpuset/test 组群 #cgset -r cpuset.cpus=0-1 test #cat /sys/fs/cgroup/cpuset/test/cpuset.cpus 0-1 6, 将某个进程移动到控制组群中
    假设 存在/sys/fs/cgroup/cpuset/test 组群    
cgclassify -g subsystems:path_to_CGROUPS pidlist
# ps aux | grep sshd
root       871  0.0  0.0  82508  3600 ?        Ss   12:47   0:00 /usr/sbin/sshd -D

得到进程号871,通过cgclassify把进程加入到/sys/fs/cgroup/test 组群中,命令如下:
# cgclassify -g cpuset:/test 871
# cat /sys/fs/cgroup/cpuset/test/tasks 就会看到871进程在这个文件下

猜你喜欢

转载自blog.csdn.net/hobertony_7/article/details/49977645