cgroups

提供: セキュリティ
移動: 案内検索
スポンサーリンク

Linuxcgroups (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

関連項目




スポンサーリンク