tomcat - Docker - 你能过度分配 ram (tomcat) 吗?

标签 tomcat docker

来自新手的问题:Docker 可以“过度分配”Ram 吗?这是个好主意吗?

用例是单个服务器上的多个 tomcat,其中 tomcat 的最小值 (XMS) 可以处理 80% 的负载需求,但最大值 (XMX) 可以处理额外的负载。

10 台 tomcat,平均 XMS 为 256mb,XMX 为 896,您可能希望在全部 896+permgen(64m)+os 需要 (64mb) = 1024MB 时分配 docker 的 ram,即使它不会一直在用?

https://docs.docker.com/reference/run/#runtime-constraints-on-cpu-and-memory

If the host supports swap memory, then the -m memory setting can be larger than physical RAM

感谢任何反馈,如果有经验的人可以确认(和/或已经这样做了!),我们将不胜感激!

-D

最佳答案

Docker 可以过度使用内存,如文档中所述。这样做时可能遇到的问题与在主机而不是容器上运行进程时遇到的问题没有什么不同。只要常驻内存占用空间 (RES/RSS) 小于主机上的实际 RAM,就应该没问题。虚拟内存占用空间可能大得多,但实际上不需要分配 (VIRT/VSZ)。

我倾向于根本不配置交换,因为当它开始使用时,机器实际上变得非常慢(如果使用微调器)以至于不太可能恢复。相反,如果没有交换,内存分配将失败并且进程死亡,但系统不需要重新启动即可修复。

关于tomcat - Docker - 你能过度分配 ram (tomcat) 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24374854/

相关文章:

docker - 无法在 Docker 中使用 sudo 命令,显示 "bash: sudo: command not found"

docker - Docker容器运行-d标志

regex - 如何使用 sed 表达式用单宽替换双宽字符

jsp - 用tomcat保护jsp Action 页面

docker - 将 ca 证书添加到以指定用户运行的 Tomcat Docker 容器

apache - 如何从 Apache 重定向到 Tomcat?

java - 从 docker 容器变量环境访问 lo4j 日志记录级别

用于应用程序打包的 Docker 镜像

eclipse - 从另一台计算机访问在 Eclipse 中运行的 Tomcat 8?

javascript - Tomcat 和压缩 : CSS/JS compression works . .. 有时