2017-04-06 6 views
0

私は、このNUMAノードにドッカーコンテナ内で実行中のプロセスをバインドするオンチップ・メモリ NUMAノード1として設定16ギガバイトを搭載したIntelのXeonファイ64コアのCPUを持っているが、それエラー出:Dockerコンテナ内でどのように処理することができますか?

[email protected]$ sudo numactl --membind 1 python script.py 
Error: set_mempolicy: Operation not permitted 
setting membind: Operation not permitted 

私もNUMAノード1に全体ドッカー母船をバインドしようとしましたが、運:

localhost$ sudo numactl --membind 1 docker run xyz /bin/bash 

これは、任意のエラーを与えませんが、オンチップ・メモリのない使用率を示していません。

質問:NUMAノード1にプロセスをバインドするにはどうすればよいですか?ありがとう!

答えて

0
  1. あなたは1つのNUMAノードに属するCPUを取得する必要があります:

    $ lscpu | grep node1

    NUMA node1 CPU(s): 8-15,24-31

  2. は、ドッキングウィンドウのためのcpusetを作成します。

    $ cgcreate -g cpuset:docker

    0123を

  3. あなたは、特定のNUMAノード上だけで特定のコンテナを実行する場合:

    docker run -it --rm --cgroup-parent=/my-cgroup/ ubuntu bash

  4. ドッカーが異なるのcgroup下に新しいコンテナを配置することができます

    cgcreate -g cpuset:my-cgroup

    echo 8-15 > /sys/fs/cgroup/cpuset/my-cgroup/cpuset.cpus

詳細については、https://sthbrx.github.io/blog/2016/07/27/get-off-my-lawn-separating-docker-workloads-using-cgroups/を参照してください。

関連する問題