cgroupはネームスペースですか?
私がこの質問をしたのは、いくつかのブログでcgroupと名前空間が異なると話しているのを見たからです。ただし、他のLinuxコマンドでは、cgroupは一種の名前空間と見なされます。例えば、
% unshare --help | grep cgroup
-C, --cgroup[=<file>] unshare cgroup namespace
% lsns --help | grep cgroup
-t, --type <name> namespace type (mnt, net, ipc, user, pid, uts, cgroup)
ここで何が起こっているのでしょうか?
答え1
持つさまざまな名前空間タイプ、Cgroupはその一つです。
- グループC
- 産業用コンピュータ
- ネットワーク
- 山
- PID
- 時間
- ユーザー
- UTS(ホスト名とNISドメイン名)
しかし、cgroupとcgroup 名前空間さまざまな操作が可能で、cgroup名前空間はcgroup階層を仮想化します。ほとんどの場合、cgroupを直接使用し、cgroup名前空間については気にしません。
答え2
Stephen Kittの答えが正しいことがわかりました。しかし、それでも問題を解決できない場合は、次のような問題を見ることができます。
おなじみの機能を持つネームスペースを選択してください。おそらくそれはネットです。そして、「ネットワークとネットワークの名前空間は同じですか?」という質問をしてください。いいえ、同じではありませんが、2つの間に関係があります。 Linuxでは、ネットワークはインターフェイス、IPアドレス、ルーティングテーブル、フィルタリングルール(iptables / nftなど)を表すことができます。その後、システムには多くのネットワーク名前空間を持つことができ、各ネットワーク名前空間内に一意のインターフェイス、IPアドレス、ルーティングテーブル、およびフィルタリングルールセットがあります。名前空間は、特定のLinux機能(私の場合はネットワーキング)用の仮想環境を作成します。
cgroupも同様です。 Linuxでは、cgroupはCPU、メモリなどのリソースを制限して追跡する方法を意味します。これにより、システムに多くのcgroup名前空間がある可能性があり、各グループ名前空間内に固有の制限とリソース追跡セットがあります。