天天看點

如何在容器運作過程中對容器的資源限制進行調整背景動态調整資源限制動态調整restart政策

背景

docker run和docker create有一些參數可以對容器使用的主機資源進行限制。這些主機資源主要有如下類型

  • cpu排程
  • 記憶體使用量
  • io權重

    但是一旦建立了容器,容器在運作中或者不在運作中,如何調整這些資源參數呢?

動态調整資源限制

docker提供了update指令,可以對容器進行資源限制的調整,無論這個容器是否在運作中。

參數名 說明 備注
block-weight 塊io權重10-1000之間可設定,0表示關閉此功能 Na
cpu-period cpu cfs(linux的絕對公平排程器,linux系統預設的排程器)的周期
cpu-quota cpu cfs排程器的quota
cpu-rt-period 針對實時程序,設定cpu實時排程器周期,機關為us
cpu-rt-runtime 針對實時程序,設定在一個周期之内可以運作的時間
cpu-share/-c cpu份額 設定當cpu資源受限時刻,本容器在所有容器中cpu資源使用權重,預設為1024.增加或減少此值修改了此容器的權重。當主機資源充分時刻,此參數不起作用。
cpus cpu資源比率 其實就是cpu-quota/cpu-period的比率,隻在docker13以後可用
cpuset-cpus cpu親和性
cpuset-mems cpu的numa節點親和性
memory/-m 記憶體限制 硬限制,設定此值時需要帶機關b,k,m和g
memory-reservation 軟限制,一定需要小于-m參數
memory-swap 設定容器記憶體+swap記憶體的總限制大小 一定大于-m參數

動态調整restart政策

docker update 可以對—restart參數進行更新

docker update —restart=on-failure:3 zxy

如果docker run啟動帶-rm參數,那麼不能再docker update設定restart參數

繼續閱讀