如何在docker裡限制記憶體和cpu

2021-09-29 19:16:09 字數 888 閱讀 1531

docker run

docker run --memory=1g --cpu="1" nealshan/performance-sample-api:1.0
注意swap,swap space是virtual memory,如果physical memory滿了,就會動用swap space,也就是virtual memory對應的disk了,用硬碟就慢了,這時候你需要的是加記憶體。

docker-compose

只能在docker stack deploy裡起作用,要配合swarm一起用

version: '3.2'

services:

performance-sample-api:

image: nealshan/performance-sample-api:1.0

container_name: performance-sample-api

ports:

- 8080:8080

# this is only for docker stack like docker warm, docker-compose up does not support this

deploy:

resources:

limits:

cpus: '0.50'

memory: 50m

reservations:

cpus: '0.25'

memory: 20m

檢視docker container裡使用的記憶體和cpu

docker stats

docker記憶體限制

部落格 m 和 memory swap docker run it rm m 100m memory swap 1 ubuntu stress latest bin bash指定限制記憶體大小並且設定 memory swap 值為 1,表示容器程式使用記憶體受限,而 swap 空間使用不受限制 宿主...

docker記憶體限制

預設docker容器可以使用宿主機所有的記憶體和cpu,我們可以通過 docker run 來限制記憶體和cpu的使用。有的系統核心不支援 linux capabilities.可以通過 docker info 命令來檢查,如果系統核心不支援,會有如下報錯 warning no swap limit...

Docker如何限制容器可用的記憶體

預設情況下容器使用的資源是不受限制的。也就是可以使用主機核心排程器所允許的最大資源。但是在容器的使用過程中,經常需要對容器可以使用的主機資源進行限制,本文介紹如何限制容器可以使用的主機記憶體。為什麼要限制容器對記憶體的使用?限制容器不能過多的使用主機的記憶體是非常重要的。對於 linux 主機來說,...