您好,登錄后才能下訂單哦!
利用docker怎么對容器資源進行限制?相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。
Docker 提供的內存限制功能有以下幾點:
1、容器能使用的內存和交換分區大小。
2、容器的核心內存大小。
3、容器虛擬內存的交換行為。
4、容器內存的軟性限制。
5、是否殺死占用過多內存的容器。
6、容器被殺死的優先級
-m,--memory 內存限制,格式是數字加單位,單位可以為 b,k,m,g。最小為 4M --memory-swap 內存+交換分區大小總限制。格式同上。必須必-m設置的大 --memory-reservation 內存的軟性限制。格式同上 --oom-kill-disable 是否阻止 OOM killer 殺死容器,默認沒設置 --oom-score-adj 容器被 OOM killer 殺死的優先級,范圍是[-1000, 1000],默認為 0 --memory-swappiness 用于設置容器的虛擬內存控制行為。值為 0~100 之間的整數 --kernel-memory 核心內存限制。格式同上,最小為 4M
用戶內存限制就是對容器能使用的內存和交換分區的大小作出限制。
使用時要遵循兩條直觀的規則:
-m,--memory選項的參數最小為 4M。 --memory-swap不是交換分區,而是內存加交換分區的總大小,所以--memory-swap必須比-m,--memory大。
docker run命令和 CPU 限制相關的所有選項如下:
--cpuset-cpus="" 允許使用的 CPU 集,值可以為 0-3,0,1 -c,--cpu-shares=0 CPU 共享權值(相對權重) cpu-period=0 限制 CPU CFS 的周期,范圍從 100ms~1s,即[1000, 1000000] --cpu-quota=0 限制 CPU CFS 配額,必須不小于1ms,即 >= 1000 --cpuset-mems="" 允許在上執行的內存節點(MEMs),只對 NUMA 系統有效
其中--cpuset-cpus用于設置容器可以使用的 vCPU 核。-c,--cpu-shares用于設置多個容器競爭 CPU 時,各個容器相對能分配到的 CPU 時間比例。--cpu-period和--cpu-quata用于絕對設置容器能使用 CPU 時間。
看完上述內容,你們掌握利用docker怎么對容器資源進行限制的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。