cgroups
Control Groups
任意のプロセスをグルーピングし、そのグループごとに OS のハードウェア情報などのリソース制限、あるいは統計情報を取得できる
CPU 制限
グループ全体の CPU 利用率を N % に抑えたり、コアの固定が可能
メモリ制限
グループ全体で使うメモリ利用状況を制限、計測できる
限界に達した時の挙動も選べる
pids サブシステム
そのグループに所属するプロセス数の制限
特定のファイルに書き込むことでシュッと使える
code:shell
$ ls /sys/fs/cgroup/
blkio cpu cpu,cpuacct cpuacct cpuset devices freezer hugetlb memory net_cls net_cls,net_prio net_prio perf_event pids systemd
作成
/sys/fs/cgroup/ 配下にディレクトリ作成すると cgroup が作成され、カーネルは cgroup に関するパラメータや統計情報を泡ラス様々なファイルで埋める
例
code:shell
/sys/fs/cgroup
code:shell
ls: cannot access pids/fuga: No such file or directory
code:shell
total 0
drwxr-xr-x. 4 root root 0 Dec 22 23:10 ..
-rw-r--r--. 1 root root 0 Dec 28 08:34 tasks
-rw-r--r--. 1 root root 0 Dec 28 08:34 pids.max
-r--r--r--. 1 root root 0 Dec 28 08:34 pids.current
-rw-r--r--. 1 root root 0 Dec 28 08:34 notify_on_release
-rw-r--r--. 1 root root 0 Dec 28 08:34 cgroup.procs
--w--w--w-. 1 root root 0 Dec 28 08:34 cgroup.event_control
-rw-r--r--. 1 root root 0 Dec 28 08:34 cgroup.clone_children
drwxr-xr-x. 2 root root 0 Dec 28 08:34 .