历史版本3 :Resin服务器内存修改 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 描述编辑

Java Servlet 运行于 Web 服务器中,与 Web 服务器融为一体运行在同一个 Java 虚拟机(JVM)当中。Web 服务器加载类需要占用 JVM 内存中的持久代(Perm Generation),Java 应用程序执行报表获取的数据,运算的中间数据等都需要占用 JVM 内存中的堆(heap),当没有内存可用时,就会出现内存溢出错误:java.lang.OutOfMemoryError:PermGen space 或者 java.lang.OutOfMemoryError:Java heap space。


2. 解决方案编辑

根据服务器实际内存容量以及具体是Perm溢出还是heap溢出,调整相应的 JVM 参数。如果是 heap 溢出,调整 -Xms 参数和 -Xmx 参数,建议二者配成相同数值。如果是 PermGen内存溢出,调整 -XX:PermSize 参数和 -XX:MaxPermSize 参数,建议二者配成相同数值。

Resin 4.x 版本与 3.x 版本的配置有所不同,下面分别予以说明:   


2.1 Resin 3.x 内存调整

打开 Resin 3.x 安装目录下\conf\resin.conf配置文件,在<cluster>标签下的<server-default>标签下使用<jvm-arg>标签配置 JVM 参数:

222

2.2 Resin 4.x 内存调整

Resin 4.x 安装目录下\conf\下的配置文件分成了 resin.xml 和 resin.properties,两个文件都可以调整内存。如果两个文件都进行了调整,由于 resin.xml 文件里的 JVM 参数加载在后,会以 resin.xml 文件里的配置生效。


方法一:修改 resin.xml 文件,在 <cluster id="app">标签内增加:

<server-default>
        <jvm-arg>-Xms1024m</jvm-arg>
        <jvm-arg>-Xmx1024m</jvm-arg>
        <jvm-arg>-XX:PermSize=256m</jvm-arg>
        <jvm-arg>-XX:MaxPermSize=256m</jvm-arg>
 </server-default>

222

方法二:修改 resin.properties 文件,增加一行 jvm_args  : -Xms1024m -Xmx1024m -XX:PermSize=256m -XX:MaxPermSize=256m

222

注意:修改完成后,需要重启 Resin。