[wolf@wulaoer.org 🔥🔥🔥🔥 ] # mount -t cgroup cgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,xattr,release_agent=/usr/lib/systemd/systemd-cgroups-agent,name=systemd) cgroup on /sys/fs/cgroup/cpuset type cgroup (rw,nosuid,nodev,noexec,relatime,cpuset) cgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,cpuacct,cpu) cgroup on /sys/fs/cgroup/net_cls,net_prio type cgroup (rw,nosuid,nodev,noexec,relatime,net_prio,net_cls) cgroup on /sys/fs/cgroup/devices type cgroup (rw,nosuid,nodev,noexec,relatime,devices) cgroup on /sys/fs/cgroup/hugetlb type cgroup (rw,nosuid,nodev,noexec,relatime,hugetlb) cgroup on /sys/fs/cgroup/pids type cgroup (rw,nosuid,nodev,noexec,relatime,pids) cgroup on /sys/fs/cgroup/freezer type cgroup (rw,nosuid,nodev,noexec,relatime,freezer) cgroup on /sys/fs/cgroup/perf_event type cgroup (rw,nosuid,nodev,noexec,relatime,perf_event) cgroup on /sys/fs/cgroup/memory type cgroup (rw,nosuid,nodev,noexec,relatime,memory) cgroup on /sys/fs/cgroup/blkio type cgroup (rw,nosuid,nodev,noexec,relatime,blkio)
cpu限制的目录
[wolf@wulaoer.org 🔥🔥🔥🔥 ] # ls /sys/fs/cgroup/cpu cgroup.clone_children container cpu.cfs_period_us cpu.shares release_agent cgroup.event_control cpuacct.stat cpu.cfs_quota_us cpu.stat system.slice cgroup.procs cpuacct.usage cpu.rt_period_us docker tasks cgroup.sane_behavior cpuacct.usage_percpu cpu.rt_runtime_us notify_on_release user.slice
下面就是操作的例子
[wolf@wulaoer.org 🔥🔥🔥🔥 ] # cd /sys/fs/cgroup/cpu [wolf@wulaoer.org 🔥🔥🔥🔥 ] # mkdir container [wolf@wulaoer.org 🔥🔥🔥🔥 ] # ls container/
刚刚创建完的目录下,就已经一堆文件。运行一行代码,这是一个死循环,cpu占有 100%,看看如何通过cgoup来限制这种cpu占有。
[wolf@wulaoer.org 🔥🔥🔥🔥 ] # while : ; do : ; done & [1] 25737
第一行代码是一个死循环,输出25737,是进程id号。通过top,你可以看到这个进程的cpu占用情况
可以很清楚看到 25737进程,已经95%。
查看当前的设置
[wolf@wulaoer.org 🔥🔥🔥🔥 ] # cat /sys/fs/cgroup/cpu/container/cpu.cfs_quota_us -1 [wolf@wulaoer.org 🔥🔥🔥🔥 ] # cat /sys/fs/cgroup/cpu/container/cpu.cfs_period_us 100000
修改参数,就可以实现对cpu的控制
[wolf@wulaoer.org 🔥🔥🔥🔥 ] # echo 2000 > /sys/fs/cgroup/cpu/container/cpu.cfs_quota_us
把限制的进程id,写入tasks里,这里就是:25737
[wolf@wulaoer.org 🔥🔥🔥🔥 ] # echo 25737 > /sys/fs/cgroup/cpu/container/tasks
这时候,你再使用top命令查看cpu占用情况。
人生第一次做CPU限制,顺利完成。
收尾工程,杀死进程
[wolf@wulaoer.org 🔥🔥🔥🔥 ] # kill 9 25737
您可以选择一种方式赞助本站
支付宝扫一扫赞助
微信钱包扫描赞助
赏