背景:服务器启动需要较大内存,报
TcpSocketLink OutOfMemory
1、eclipse安装目录下的eclipse.ini文件
eclipse.ini文件中包含参数-Xms128m -Xmx256m配置的是ecipse这个程序启动时的jvm参数
2、运行一个Main函数时
通过修改Run/Debug Configiration中Arguments中添加-Xms1024m -Xmx1024m设置这个类运行时的JVM参数
3、直接修改RESIN_HOME/conf下的resin.xml配置文件
直接从RESIN_HOME下通过resin.exe启动resin时所读的配置文件
但当向eclipse中添加Server时,eclipse复制了一份Resin的配置文件,可在Server窗口右键找到配置文件位置
修改RESIN_HOME/conf下的resin.xml对eclipse中的resin并不能产生效果
4、修改Server下的配置文件
在cluster下添加
<server-default>
<jvm-arg> -Xms2048m</jvm-arg >
<jvm-arg> -Xmx4096m</jvm-arg >
<jvm-arg> -Xmn256m</ jvm-arg>
<jvm-arg> -XX:PermSize=128m</jvm-arg >
<jvm-arg> -XX:MaxPermSize=256m</jvm-arg >
<thread-max> 1024</ thread-max>
<socket-timeout> 30s</ socket-timeout>
<keepalive-max> 512</ keepalive-max>
<keepalive-timeout> 60s</ keepalive-timeout>
</server-default>
启动后还是报outOfMemory
原因:在resin的Debug Configiration中Arguments中VM中系统设置了xmx,覆盖了配置文件中的文件
解决方法一:删除resin的Debug Configiration中Arguments中VM的xmx参数
解决方法二:直接在resin的Debug Configiration中Arguments中VM中设置xmx参数