不灭的焱

革命尚未成功,同志仍须努力下载JDK17

作者:Albert.Wen  添加时间:2024-01-07 22:54:43  修改时间:2024-07-21 20:45:36  分类:Docker/K8s  编辑

[荐]Docker资源(CPU/内存/磁盘IO/GPU)限制与分配指南

默认情况下,Docker容器是没有资源限制的,它会尽可能地使用宿主机能够分配给它的资源。如果不对容器资源进行限制,容器之间就会相互影响,一些占用硬件资源较高的容器会吞噬掉所有的硬件资源,从而导致其它容器无硬件资源可用,发生停服状态。

查看当前Gitlab服务的cpu和内存使用情况

发现使用了默认宿主的17G内存,我的目标是把它限制为8G,并且2个cpu运行

$ docker stats

CONTAINER ID        NAME                                           CPU %               MEM USAGE / LIMIT     MEM %               NET I/O             BLOCK I/O           PIDS
ebfab1137xx       gitlabseafilegit_gitlab_1_66166xxx        6.44%               4.29GiB / 17.06GiB    25.14%              335MB / 8.36GB      38.2GB / 53.1GB     677

限制当前Gitlab容器cpu和内存

$ docker container update  gitlabseafilegit_gitlab_1_66166xxx  --cpus="2" --memory="8g"  --memory-swap="-1"

验证,已经是限制为8G了

$ docker stats gitlabseafilegit_gitlab_1_66166b3c6ed4   --no-stream

CONTAINER ID        NAME                                     CPU %               MEM USAGE / LIMIT   MEM %               NET I/O             BLOCK I/O           PIDS
ebfab1137xx       gitlabseafilegit_gitlab_1_66166xxx           4.11%               4.322GiB / 8GiB     54.03%              341MB / 8.74GB      39GB / 53.2GB       674