Docker是一個(gè)流行的虛擬化技術(shù),它使得容器化應(yīng)用程序變得更加容易。在容器化應(yīng)用程序的過(guò)程中,內(nèi)存使用是至關(guān)重要的,因此有必要制定內(nèi)存限制策略。
docker run -m 512m myapp
使用-m
標(biāo)志可以指定Docker容器最多可以使用多少內(nèi)存。上述命令指定了應(yīng)用程序可以使用的最大內(nèi)存為512MB。
docker update --memory 512m myapp
另一種設(shè)置Docker內(nèi)存限制的方法是使用docker update
命令。與docker run
命令不同,docker update
命令允許您在容器運(yùn)行時(shí)更改容器內(nèi)存限制。通過(guò)在執(zhí)行docker update
命令時(shí)指定--memory
標(biāo)志,并將其設(shè)置為您想要的值,可以更改容器的內(nèi)存限制。
docker run -it --memory-swappiness=0 myapp
--memory-swappiness
標(biāo)志可以減輕內(nèi)存壓力和開(kāi)銷(xiāo)。內(nèi)存交換(swapping)-指當(dāng)內(nèi)存不足時(shí)將不活躍的內(nèi)存頁(yè)面從內(nèi)存復(fù)制到磁盤(pán)驅(qū)動(dòng)器上的一個(gè)交換文件,以實(shí)現(xiàn)空閑內(nèi)存釋放。當(dāng)容器試圖使用超出其內(nèi)存限制的內(nèi)存時(shí),內(nèi)存交換可能會(huì)發(fā)生。--memory-swappiness
標(biāo)志允許您設(shè)置交換至磁盤(pán)驅(qū)動(dòng)器的內(nèi)存壓力大小。將值設(shè)置為0
將完全禁用內(nèi)存交換。