2011-02-23 20 views
1

clone()またはunshare()を使用すると、ネットワーク名前空間を作成できます。ただ、コマンドとして:作成した名前空間を確認するにはどうすればよいですか?

ns_exec -nm -- /bin/bash 

http://lxc.sourceforge.net/index.php/about/kernel-namespaces/network/configuration/を参照)

私はns_execコマンドで複数のネットワークの名前空間を作成した場合、私はそれらを見ることができますか?または ネットワークネームスペースの数をどのように数えることができますか?

答えて

0

これらは間接的に観察されます。いいえ、デバイスは独立していて、iptablesのルールは独立しています。

netnsオブジェクトは、それ自身のいるkmem_cacheに住ん: grepをnet_namespaceの/ proc/slabinfoはこれら

しかし、これはSLUBはキャッシュを共有できるよう、それらをカウントする信頼性の低い方法です。

/procファイルやnetnsカウンタ専用のものはありません。

+0

なぜ/ proc/slabinfoのnet_namespaceレコードが信頼できないのですか? ns_execを使用して新しいネットワーク名前空間を作成すると、slabinfoが表示されます。grep net_namespace/proc/slabinfo net_namespace 1 3 2112 3 2:調整可能な値24 12 8:slabdata 1 1 0 active_objsは1、num_objsは3です。active_objsの値は、 。私はnum_objsが3である理由を二重にしています。私は新しいネットワーク名前空間を作成しました。 – DaVid

+0

sizeof()がいくつかのaddtitional条件と一致する場合、SLUBはキャッシュをマージできます。したがって、slabinfoが表示するオブジェクトの数は、マージされたキャッシュのすべてのオブジェクトの合計です。 SLABはマージせず、ユーザーはスラブアロケータを持つことができます。したがって、スラブアロケータに依存することはできません。 – adobriyan

関連する問題