提问人:RayJ_inSJ 提问时间:6/18/2020 更新时间:3/7/2021 访问量:2237
如何查看 Docker Engine 的内存分配?
How to see memory allotment for Docker Engine?
问:
设置 Elasticsearch Cluster 的 docker 实例。
在说明中它说
Make sure Docker Engine is allotted at least 4GiB of memory
我正在向主机发送 ssh'ing,而不是使用 docker desktop。 如何从命令行查看资源分配?
引用 URL https://www.elastic.co/guide/en/elastic-stack-get-started/current/get-started-docker.html
答:
-2赞
Connor Verlekar
6/18/2020
#1
我想只使用一个命令来解决这个问题。
docker stats -all
这将给出如下输出
$ docker stats -all
CONTAINER ID NAME CPU% MEM USAGE/LIMIT MEM% NET I/O BLOCK I/O PIDS
5f8a1e2c08ac my-compose_my-nginx_1 0.00% 2.25MiB/1.934GiB 0.11% 1.65kB/0B 7.35MB/0B 2
要修改限制: 制作docker-compose.yml时,请在文件末尾包含以下内容。(如果要设置 4 GiB 限制)
resources:
limits:
memory: 4048m
reservations:
memory: 4048m
评论
0赞
RayJ_inSJ
6/18/2020
这提供了当前正在运行的容器的资源,这与本文所指的不同
3赞
Agit Kaplan
3/7/2021
#2
我在 Windows 10 上运行 Docker Desktop 时遇到了同样的问题,同时在 WSL2 上运行 Linux 容器。
我发现了这个问题:https://github.com/elastic/elasticsearch-docker/issues/92 并尝试将类似的逻辑应用于那里的解决方案。
我通过命令进入了 WSL 实例的终端。
稍后我运行命令来设置“分配的内存”。wsl -d docker-desktop
sysctl -w vm.max_map_count=262144
完成这些步骤后,我可以运行 elasticsearch 的 docker compose 示例。
评论
docker system info
docker info
docker system info
给出了我正在寻找的“信息”Operating System: Oracle Linux Server 7.7 OSType: linux Architecture: x86_64 CPUs: 8 Total Memory: 15.49GiB