「cgroups」の版間の差分
提供: セキュリティ
(相違点なし)
|
2014年12月27日 (土) 15:27時点における最新版
Linuxのcgroups (control groups, cgroup)とは、Linuxカーネルが提供するプロセスグループのリソースの制限や隔離の機能です。
読み方
- cgroups
- しーぐるーぷす
- control groups
- こんとろーる ぐるーぷす
目次
概要
cgroupsは、プロセスをグループ化します。グループ内のプロセスは、共通の管理ができます。グループごとに「システムのリソースに対する制限」が掛けられます。
- cgroup は、階層になります。
- 子 cgroup は、親 cgroup の特定の属性を継承します。
リソースの例を以下に挙げます。
- CPU 時間
- メモリ
- ネットワーク帯域
cgroups は、 仮想的なファイルシステム cgroupファイルシステム(cgroupfs)を使用します。
/sys/fs/cgroup
cgroupファイルシステムのマウント
sudo mount -t tmpfs /cgroup /sys/fs/cgroup sudo mkdir /sys/fs/cgroup/cpu sudo mount -t cgroup -o cpu cgroup /sys/fs/cgroup/cpu
tmpfs は、必須ではありません。
使い方
Ubuntu
$ ls /sys/fs/cgroup blkio/ cpuacct/ devices/ hugetlb/ perf_event/ cpu/ cpuset/ freezer/ memory/ systemd/
$ dpkg -l | ag cgroup ii cgroup-lite 1.9 all Light-weight package to set up cgroups at system boot ii libcgmanager0:amd64 0.24-0ubuntu7 amd64 Central cgroup manager daemon (client library)
$ dpkg -L cgroup-lite /. /usr /usr/share /usr/share/doc /usr/share/doc/cgroup-lite /usr/share/doc/cgroup-lite/copyright /usr/share/doc/cgroup-lite/changelog.gz /usr/bin /etc /etc/init /etc/init/cgroup-lite.conf /bin /bin/cgroups-mount /bin/cgroups-umount /usr/bin/cgroups-mount /usr/bin/cgroups-umount
cgroup-bin
apt-get install cgroup-bin
libcgroup1 に依存関係があるので、cgroup-bin と一緒に libcgroup1 もインストールされます。
以下は、cgroup-bin 0.38-1ubuntu2 のパッケージです。
$ dpkg -L cgroup-bin /. /usr /usr/sbin /usr/sbin/cgclear /usr/sbin/cgconfigparser /usr/sbin/cgrulesengd /usr/bin /usr/bin/cgcreate /usr/bin/cgclassify /usr/bin/cgdelete /usr/bin/cgexec /usr/bin/lscgroup /usr/bin/cgget /usr/bin/lssubsys /usr/bin/cgsnapshot /usr/bin/cgset /usr/share /usr/share/doc /usr/share/doc/cgroup-bin /usr/share/doc/cgroup-bin/README_daemon.gz /usr/share/doc/cgroup-bin/copyright /usr/share/doc/cgroup-bin/README.gz /usr/share/doc/cgroup-bin/examples /usr/share/doc/cgroup-bin/examples/cgconfig.sysconfig /usr/share/doc/cgroup-bin/examples/cgred /usr/share/doc/cgroup-bin/examples/cgconfig.gz /usr/share/doc/cgroup-bin/examples/cgsnapshot_blacklist.conf /usr/share/doc/cgroup-bin/examples/cgred.conf /usr/share/doc/cgroup-bin/examples/cgrules.conf /usr/share/doc/cgroup-bin/examples/cgconfig.conf /usr/share/doc/cgroup-bin/README_systemd /usr/share/man /usr/share/man/man1 /usr/share/man/man1/cgget.1.gz /usr/share/man/man1/cgdelete.1.gz /usr/share/man/man1/cgclear.1.gz /usr/share/man/man1/cgsnapshot.1.gz /usr/share/man/man1/lscgroup.1.gz /usr/share/man/man1/cgclassify.1.gz /usr/share/man/man1/cgset.1.gz /usr/share/man/man1/cgexec.1.gz /usr/share/man/man1/cgcreate.1.gz /usr/share/man/man1/lssubsys.1.gz /usr/share/man/man5 /usr/share/man/man5/cgconfig.conf.5.gz /usr/share/man/man5/cgred.conf.5.gz /usr/share/man/man5/cgrules.conf.5.gz /usr/share/man/man8 /usr/share/man/man8/cgconfigparser.8.gz /usr/share/man/man8/cgrulesengd.8.gz /usr/share/doc/cgroup-bin/changelog.Debian.gz /usr/share/doc/cgroup-bin/NEWS.Debian.gz
libcgroup1
Ubuntu/Debianにインストールする場合
apt-get コマンドでインストールする場合です。
sudo apt-get install libcgroup1