Понимание ограничений ресурсов докера
Я получил следующие ограничения ресурсов в моем движке докера:
- 4 процессора
- 4096 МБ памяти
- 2048 МБ, своп
- 64 ГБ Размер диска
Контейнер Docker работает с распределением ресурсов по умолчанию. Теперь я изучал использование ресурсов контейнера с помощью docker stat
, Выход:
CONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS
df09b7636ef2 getstartedlab_articleservice.3.799hopivzdful5fkphy1l2skn 0.12% 204MiB / 913.3MiB 22.34% 69.9kB / 73kB 108MB / 12.3kB 32
afd5f157a3e2 getstartedlab_articleservice.1.r5v55711b3fr5q5h9ouu15quq 0.14% 93.56MiB / 913.3MiB 10.24% 104kB / 110kB 122MB / 0B 32
172b3fa09c46 getstartedlab_articleservice.2.pwrxsmnhc8hd1cmnhk9h4nv3e 0.15% 83.93MiB / 913.3MiB 9.19% 158kB / 167kB 183MB / 0B 32
e4199bfe7d92 getstartedlab_customerservice.1.a6xlzdol1dbnk2m481u393hzp 0.15% 71.56MiB / 913.3MiB 7.84% 176kB / 186kB 433MB / 0B 32
5e6d9eece953 getstartedlab_cartservice.1.iigrada1zp43sb8m2snyk9x4r 0.13% 75.66MiB / 913.3MiB 8.28% 180kB / 186kB 478MB / 57.3kB 30
46aff975d07d getstartedlab_catalogservice.1.wewy4x5zpl23vhzi3r3cpzpi4 0.16% 61.93MiB / 913.3MiB 6.78% 179kB / 185kB 842MB / 111kB 30
41d7b9c2e502 getstartedlab_nginx-default.1.caco2pvdja514ymr3auu7nyq7 0.00% 1.184MiB / 913.3MiB 0.13% 43.7kB / 45.2kB 20MB / 0B 2
Как видите, пределы памяти на каждом контейнере абсолютно одинаковы. Ограничение установлено в 913,3 МБ. Всего 7 контейнеров.
7 * 913,3 МБ = 6393,1 МБ.
Как это имеет смысл? Как упомянуто выше, мое максимальное использование диска установлено на 64 ГБ (64000 МБ), и мой предел ОЗУ установлен на 4096 МБ. Какая память MEM USAGE / LIMIT
Ссылаясь на?
1 ответ
MEM USAGE относится к фактическому объему памяти, используемой контейнером.
MEM LIMIT - это максимальный объем памяти, который разрешено использовать контейнеру. Если бы программа в контейнере пыталась использовать больше, в этом было бы отказано.
MEM% - это процент использования LIMIT.