容器学习 之 限制容器资源(十一)
生活随笔
收集整理的這篇文章主要介紹了
容器学习 之 限制容器资源(十一)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
內存限額
使用方法:
其含義是允許該容器最多使用 200M 的內存和 100M 的 swap。默認情況下,上面兩組參數為 -1,即對容器內存和 swap 的使用沒有限制。
下面我們將使用 progrium/stress 鏡像來學習如何為容器分配內存。該鏡像可用于對容器執行壓力測試。執行如下命令:
docker run -it -m 200M --memory-swap=300M progrium/stress --vm 1 --vm-bytes 280M–vm 1:啟動 1 個內存工作線程。
–vm-bytes 280M:每個線程分配 280M 內存。
因為 280M 在可分配的范圍(300M)內,所以工作線程能夠正常工作,其過程是:
- 分配 280M 內存。
- 釋放 280M 內存。
- 再分配 280M 內存。
- 再釋放 280M 內存。
- 一直循環…
如果在啟動容器時只指定 -m 而不指定 --memory-swap,那么 --memory-swap 默認為 -m 的兩倍
CPU 限額
Docker 可以通過 -c 或 --cpu-shares 設置容器使用 CPU 的權重。如果不指定,默認值為 1024。
與內存限額不同,通過 -c 設置的 cpu share 并不是 CPU 資源的絕對數量,而是一個相對的權重值。比如
docker run --name "container_A" -c 1024 ubuntu docker run --name "container_B" -c 512 ubuntu- 啟動 container_A,cpu share 為 1024:
- 啟動 container_B,cpu share 為 512:
則 container_A 消耗的 CPU 是 container_B 的兩倍。
限制bps和iops
bps 是 byte per second,每秒讀寫的數據量。
iops 是 io per second,每秒 IO 的次數。
可通過以下參數控制容器的 bps 和 iops:
- –device-read-bps,限制讀某個設備的 bps。
- –device-write-bps,限制寫某個設備的 bps。
- –device-read-iops,限制讀某個設備的 iops。
- –device-write-iops,限制寫某個設備的 iops。
例子:
//下面這個例子限制容器寫 /dev/sda 的速率為 30 MB/s docker run -it --device-write-bps /dev/sda:30MB ubuntu總結
以上是生活随笔為你收集整理的容器学习 之 限制容器资源(十一)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 容器学习 之 本地镜像与共有镜像(十)
- 下一篇: 容器学习 之 容器的网络类型(十二)