如何在容器運行過程中對容器的資源限制進行調整

背景

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

  • cpu調度
  • 內存使用量
  • io權重
    但是一旦創建了容器,容器在運行中或者不在運行中,如何調整這些資源參數呢?

動態調整資源限制

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

參數名 說明 備註
block-weight 塊io權重10-1000之間可設置,0表示關閉此功能 Na
cpu-period cpu cfs(linux的絕對公平調度器,linux系統默認的調度器)的週期 Na
cpu-quota cpu cfs調度器的quota Na
cpu-rt-period 針對實時進程,設置cpu實時調度器週期,單位爲us Na
cpu-rt-runtime 針對實時進程,設置在一個週期之內可以運行的時間 Na
cpu-share/-c cpu份額 設置當cpu資源受限時刻,本容器在所有容器中cpu資源使用權重,默認爲1024.增加或減少此值修改了此容器的權重。當主機資源充分時刻,此參數不起作用。
cpus cpu資源比率 其實就是cpu-quota/cpu-period的比率,只在docker13以後可用
cpuset-cpus cpu親和性 Na
cpuset-mems cpu的numa節點親和性 Na
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參數

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章