2017-07-26 14 views
0

ホスト上で最新のDebian(9)またはUbuntu(17.0.4)を使用して、DockerコンテナでCPUを制限する必要があります。Debian/UbuntuでCFS cgroupサポートを有効にする方法

$ docker info 
    Containers: 0 
    Running: 0 
    Paused: 0 
    Stopped: 0 
    Images: 1 
    Server Version: 17.06.0-ce 
    Storage Driver: overlay2 
    Backing Filesystem: extfs 
    Supports d_type: true 
    Native Overlay Diff: true 
    Logging Driver: json-file 
    Cgroup Driver: cgroupfs 
    Plugins: 
    Volume: local 
    Network: bridge host macvlan null overlay 
    Log: awslogs fluentd gcplogs gelf journald json-file logentries splunk syslog 
    Swarm: inactive 
    Runtimes: runc 
    Default Runtime: runc 
    Init Binary: docker-init 
    containerd version: cfb82a876ecc11b5ca0977d1733adbe58599088a 
    runc version: 2d41c047c83e09a6d61d464906feb2a2f3c52aa4 
    init version: 949e6fa 
    Security Options: 
    seccomp 
    Profile: default 
    Kernel Version: 4.9.20-std-1 
    Operating System: Ubuntu 17.04 
    OSType: linux 
    Architecture: x86_64 
    CPUs: 4 
    Total Memory: 7.753GiB 
    ID: 2JJV:EM37:VCY5:HVKQ:MUNV:VV5N:H247:XE5Q:VBFD:6VES:P62H:YXPJ 
    Docker Root Dir: /var/lib/docker 
    Debug Mode (client): false 
    Debug Mode (server): false 
    Registry: https://index.docker.io/v1/ 
    Experimental: false 
    Insecure Registries: 
    127.0.0.0/8 
    Live Restore Enabled: false 

    WARNING: No cpu cfs quota support 
    WARNING: No cpu cfs period support 

私は周りを見回しましたが、私は実際のDebian/Ubuntuの上でCFSの引用/期間のサポートを有効にする方法を考え出したていません。私はエラーを取得する--cpusまたは--cpu-株式を使用しようとするたびに:

NanoCPUs can not be set, as your kernel does not support CPU cfs period/quota or the cgroup is not mounted. 

ホストは、4.9.20カーネルで最新のUbuntuを実行しているので、サポートしている必要があります。 Debian 9と同じです。 cgroupをマウントする方法についての説明や良いチュートリアルはありますか?

答えて

1

カーネルで有効にするにはCFS Bandwidth Control

上のカーネルのドキュメントを参照してください。

General setup ---> 
    -*- Control Group support ---> 
     -*- CPU controller ---> 
      -*- Group scheduling for SCHED_OTHER 
       [*] CPU bandwidth provisioning for FAIR_GROUP_SCHED 

買主の危険負担:ディストリビューションによって提供されていないカーネルを再コンパイルしてインストールする前に、必ずあなたがやっていることを知ってください。 UEFIセキュアブートについて考えて、現在の.configから始めてください。

関連する問題