说起对tomcat内存的限制,对于一个不熟悉的童鞋来说肯定是先google、百度,国内的文章都比较千篇一律。我来说说我在项目中的配置。
一、最常见的配置修改catalina.sh或catalina.bat
这或许是百度、google搜索到的最多的。下图是开源中国的tomcat配置:
当我们打开catalina.sh或catalina.bat瞬间蒙了,几百行不熟悉的脚本,下面我推荐另一种优雅的方式
二、使用setenv.sh火setenv.bat配置tomcat内存
如果你查看过catalina.sh或catalina.bat里面的代码你会发现这段说明
我们将开源中国的配置的那两行添加到tomcat/bin目录下,命名为setenv.sh、serenv.bat即可。
再也不用蛋疼的看那么多代码了,是不是感觉优雅了很多!
三、在docker中控制tomcat内存大小
首先,docker可以控制容器的内存大小,但是tomcat的内存依然是又必要限制的,避免引起内存泄露。
之前看到有的是在Dockerfile中构建image的时候写死了一个setenv.sh到tomcat的bin目录下,这样的话就限制死了我们的镜像,不够通用。
我们在项目中则是直接以docker env的形式在实例启动的时候限制,这样更加灵活。