我必须将容器限制为仅使用1个CPU和3GB内存,因此我使用了以下命令:
docker run -it -d -p 9090:9090 myImage1.4 --cpus="0.5" --memory=3Gb
当我执行 docker stats b8e00adbba34 时,它给出了以下结果:
CONTAINER CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS
b8e00adbba34 0.66% 1.979 GiB / 7.632 GiB 25.93% 1.695 MB / 4.415 MB 223.5 MB / 7.799 MB 0
我的 docker 信息是:
OSType: linux
Architecture: x86_64
Number of Docker Hooks: 3
CPUs: 2
Total Memory: 7.632 GiB
我的问题是,尽管我将内存限制为3GB,为什么它会变成7.6 GB(主机RAM),而CPU%却超过100%?
最佳答案
您正在将这些参数传递给图像,而图像可能什么也没做。您需要将它们传递给docker
docker run -it -d -p 9090:9090 myImage1.4 --cpus="0.5" --memory=3G
应该是(旧的docker版本)
docker run -it --cpu-quota=50000 --memory=3G -d -p 9090:9090 myImage1.4
或(较新的Docker版本)
docker run -it --cpus="0.5" --memory=3G -d -p 9090:9090 myImage1.4
关于docker - docker CPU利用率为130%,这是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46422746/