Performance 如何衡量Docker的绩效?
Docker中是否可能存在性能问题 因为我知道虚拟机,您必须指定要使用多少RAM等 但我在docker不知道。它正在运行。它会根据需要自动使用RAM吗?这是如何工作的 它会根据需要自动使用RAM吗?这是如何工作的 否默认情况下,它将使用所需的最小内存,达到一个限制 您可以使用查看正在运行的容器:Performance 如何衡量Docker的绩效?,performance,docker,Performance,Docker,Docker中是否可能存在性能问题 因为我知道虚拟机,您必须指定要使用多少RAM等 但我在docker不知道。它正在运行。它会根据需要自动使用RAM吗?这是如何工作的 它会根据需要自动使用RAM吗?这是如何工作的 否默认情况下,它将使用所需的最小内存,达到一个限制 您可以使用查看正在运行的容器: $ docker stats redis1 redis2 CONTAINER CPU % MEM USAGE / LIMIT MEM %
$ docker stats redis1 redis2
CONTAINER CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O
redis1 0.07% 796 KB / 64 MB 1.21% 788 B / 648 B 3.568 MB / 512 KB
redis2 0.07% 2.746 MB / 64 MB 4.29% 1.266 KB / 648 B 12.4 MB / 0 B
使用时,可以使用指定这些限制。这包括RAM:
-m, --memory=""
内存限制(格式:[]
,其中单位为b、k、m或g)
在正常情况下,容器可以根据需要使用尽可能多的内存,并且仅受使用-m/--memory
选项设置的硬限制的限制当设置内存保留时,Docker会检测内存争用或内存不足,并强制容器将其消耗限制在保留限制内 默认情况下,如果发生内存不足(OOM)错误,内核将终止容器中的进程
要更改此行为,请使用
--oom kill disable
选项。仅在还设置了-m/--memory
选项的容器上禁用OOM killer
注意:即将发布的(1.10)可能包括动态内存更改。请参阅。默认情况下,docker容器可以从主机消耗的资源量不受限制。容器的权限/功能受到限制(即“容器”部分) 您应该始终对容器设置约束,例如,容器允许使用的最大内存量、交换空间量和CPU量。不设置这样的限制可能会导致主机内存不足,内核会杀死随机进程(OOM kill),以释放内存。在这种情况下,“随机”也可能意味着内核杀死您的ssh服务器或docker守护进程本身
阅读手册中有关约束容器上资源的详细信息。实际上,默认情况下,容器上没有设置限制;这是最好的做法so@thaJeztah是的,我已经在答案中添加了文档的相关部分。