2015-06-09 83 views

回答

4

你不能改變正在運行的容器內,你會做你的主機上。

你怎麼做,在主機取決於您的主機操作系統,在Linux上,我建議去看一下一個的cgroup,那怎麼搬運工內部限制容器。

Ubuntu的您可以使用cgroup的經理CGM(試過在Ubuntu 15.04)。

  1. 創建用於CPU新cgroup中,移動處理(例如28433),將它和設定值
> # cgm create cpu dudecpu 
> # cgm movepid cpu dudecpu 28433 
> # cgm setvalue cpu dudecpu cpu.shares 512 
  • 創建新的cgroup爲內存移動進程(例如28433)並設置一個值
  • > cgm create memory dudemem 
    > cgm movepid memory dudemem 28433 
    > cgm setvalue memory dudemem memory.limit_in_bytes 1000000000 
    
    1. 檢查你的新cgroup所在的位置,並查看這些目錄,你會發現cgroup的所有屬性。
    > find /sys/fs/cgroup/ -name "dude*" 
    > /sys/fs/cgroup/memory/user.slice/user-1000.slice/session-c3.scope/dudemem 
    > /sys/fs/cgroup/cpu,cpuacct/user.slice/user-1000.slice/session-c3.scope/dudecpu 
    
    +1

    我知道的cgroup怎麼做在Linux但是問題是這樣做,在運行時!我認爲在Docker上使用exec可能會更新約束 – staticx

    相關問題