欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Docker 限制容器對內(nèi)存的使用詳解

 更新時間:2017年08月04日 09:36:24   作者:CloudMan  
這篇文章主要介紹了Docker 限制容器對內(nèi)存的使用詳解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

一個 docker host 上會運行若干容器,每個容器都需要 CPU、內(nèi)存和 IO 資源。對于 KVM,VMware 等虛擬化技術(shù),用戶可以控制分配多少 CPU、內(nèi)存資源給每個虛擬機(jī)。對于容器,Docker 也提供了類似的機(jī)制避免某個容器因占用太多資源而影響其他容器乃至整個 host 的性能。

內(nèi)存限額

與操作系統(tǒng)類似,容器可使用的內(nèi)存包括兩部分:物理內(nèi)存和 swap。 Docker 通過下面兩組參數(shù)來控制容器內(nèi)存的使用量。

1、 -m--memory:設(shè)置內(nèi)存的使用限額,例如 100M, 2G。

2、 --memory-swap:設(shè)置內(nèi)存+swap的使用限額。

當(dāng)我們執(zhí)行如下命令:

docker run -m 200M --memory-swap=300M ubuntu

其含義是允許該容器最多使用 200M 的內(nèi)存和 100M 的 swap。默認(rèn)情況下,上面兩組參數(shù)為 -1,即對容器內(nèi)存和 swap 的使用沒有限制。

下面我們將使用 progrium/stress 鏡像來學(xué)習(xí)如何為容器分配內(nèi)存。該鏡像可用于對容器執(zhí)行壓力測試。執(zhí)行如下命令:

docker run -it -m 200M --memory-swap=300M progrium/stress --vm 1 --vm-bytes 280M

--vm 1:啟動 1 個內(nèi)存工作線程。

--vm-bytes 280M:每個線程分配 280M 內(nèi)存。

運行結(jié)果如下:

因為 280M 在可分配的范圍(300M)內(nèi),所以工作線程能夠正常工作,其過程是:

  1. 分配 280M 內(nèi)存。
  2. 釋放 280M 內(nèi)存。
  3. 再分配 280M 內(nèi)存。
  4. 再釋放 280M 內(nèi)存。
  5. 一直循環(huán)......

如果讓工作線程分配的內(nèi)存超過 300M,結(jié)果如下:

分配的內(nèi)存超過限額,stress 線程報錯,容器退出。

如果在啟動容器時只指定-m而不指定--memory-swap,那么--memory-swap默認(rèn)為-m的兩倍,比如:

docker run -it -m 200M ubuntu

容器最多使用 200M 物理內(nèi)存和 200M swap。

內(nèi)存限額就討論到這里,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Docker網(wǎng)段和內(nèi)網(wǎng)網(wǎng)段ip沖突導(dǎo)致無法訪問網(wǎng)絡(luò)的兩種解決方法

    Docker網(wǎng)段和內(nèi)網(wǎng)網(wǎng)段ip沖突導(dǎo)致無法訪問網(wǎng)絡(luò)的兩種解決方法

    本文主要介紹了Docker網(wǎng)段和內(nèi)網(wǎng)網(wǎng)段沖突導(dǎo)致無法訪問網(wǎng)絡(luò)的兩種解決方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-06-06
  • 使用Docker搭建Django,Nginx,R,Python部署環(huán)境的方法

    使用Docker搭建Django,Nginx,R,Python部署環(huán)境的方法

    本篇文章主要介紹了使用Docker搭建Django,Nginx,R,Python部署環(huán)境的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-02-02
  • Docker同時安裝MySQL和MariaDB的方法步驟

    Docker同時安裝MySQL和MariaDB的方法步驟

    這篇文章主要介紹了Docker同時安裝MySQL和MariaDB的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • 教你使用Portainer管理多臺Docker容器環(huán)境的方法

    教你使用Portainer管理多臺Docker容器環(huán)境的方法

    這篇文章主要介紹了Portainer管理多臺Docker容器環(huán)境,本文給大家介紹的非常詳細(xì),包括環(huán)境準(zhǔn)備及管理docker的詳細(xì)過程,需要的朋友可以參考下
    2021-11-11
  • Jenkins Docker靜態(tài)agent節(jié)點的構(gòu)建過程

    Jenkins Docker靜態(tài)agent節(jié)點的構(gòu)建過程

    這篇文章主要介紹了Jenkins Docker靜態(tài)agent節(jié)點的構(gòu)建,靜態(tài)節(jié)點就是通過java -jar這條命令去啟動起來就可以了,本文通過圖文實例相結(jié)合給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2021-10-10
  • Docker私有倉庫的搭建和界面化管理詳解

    Docker私有倉庫的搭建和界面化管理詳解

    這篇文章主要給大家介紹了關(guān)于Docker私有倉庫的搭建和界面化管理的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用Docker具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • Docker鏡像制作詳解介紹

    Docker鏡像制作詳解介紹

    這篇文章主要介紹了 Docker鏡像制作詳解介紹的相關(guān)資料,需要的朋友可以參考下
    2016-10-10
  • 替換docker容器中的一個文件的實現(xiàn)

    替換docker容器中的一個文件的實現(xiàn)

    在某些情況下,我們可能確實需要更新容器內(nèi)的文件,本文主要介紹了替換docker容器中的一個文件的實現(xiàn),具有一定的參考價值,感興趣的可以了解一下
    2024-06-06
  • docker實現(xiàn)MySQL數(shù)據(jù)同步的方法

    docker實現(xiàn)MySQL數(shù)據(jù)同步的方法

    docker的一大好處是在本地可以很方便快速的搭建負(fù)載均衡,主從同步等需要多主機(jī)的環(huán)境,本文主要介紹了docker實現(xiàn)MySQL數(shù)據(jù)同步的方法,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • SpringCloud與Docker的集成原理解析

    SpringCloud與Docker的集成原理解析

    Docker的核心原理是通過將應(yīng)用程序及其所有依賴項封裝到獨立的容器中,實現(xiàn)了跨平臺、一致性和可移植性,這篇文章主要介紹了SpringCloud-Docker原理解析,需要的朋友可以參考下
    2024-02-02

最新評論