我最近安装了Alfresco 4.0d,带有32位可执行文件。
每当有人访问该应用程序时,我都会收到OutOfMemory错误。
我用谷歌搜索并看到需要添加更多内存。
所以,我尝试在Alfresco的tomcat中编辑setenv.bat文件,如下所示:
set JAVA_HOME=D:\Alfresco\java
set JAVA_OPTS=-server -Xss1024K -Xms1G -Xmx2G -XX:MaxPermSize=128M -XX:NewSize=512m
但是,错误仍然存在。
我在任务管理器中注意到tomcat6.exe的使用率不超过960mb,所以我的选项不适用于它?
此致 努诺。
答案 0 :(得分:6)
如果您使用可执行文件安装了Alfresco社区,则很可能您正在运行Alfresco作为服务。为了在将tomcat / Alfresco作为服务安装时更新JVM参数,请导航到tomcat / bin目录并以管理员身份运行以下命令:
C:\Alfresco\tomcat\bin>tomcat6w.exe //ES//alfrescoTomcat
这将打开一个小的标签窗口。单击“Java”选项卡,在“Java选项:”文本框下输入所需的选项,即:
-Xms128M
-Xmx1536M
-Dalfresco.home=C:\Alfresco
点击申请并重新启动您的服务。如果你拖尾日志(cygwin),你会看到类似的东西:
Alfresco JVM - v1.6.0_27-b07; maximum heap size 1365.375MB
可以在service.bat中找到服务的OOTB设置。这些是Alfresco安装程序创建服务时使用的选项。有关运行Alfresco作为服务的更多信息,请参阅: http://wiki.alfresco.com/wiki/Windows_Service_HOW-TO
答案 1 :(得分:3)
我很害怕,实际上你不能在java 32bit上使用-Xmx2G,也许你的设置会被忽略?
看这里 http://www.oracle.com/technetwork/java/hotspotfaq-138619.html#gc_heap_32bit
“在大多数现代32位Windows系统上,最大堆大小将介于1.4G到1.6G之间。”
答案 2 :(得分:1)
Out Of Memory Erorr与PermGem大小有关。根据Alfresco wiki,推荐值为256M(-XX:MaxPermSize:256m)。如果您没有特定的Alfresco安装http://wiki.alfresco.com/wiki/JVM_Tuning#General_Case
,请为Alfresco使用推荐的JVM设置您可以在 catalina.bat 文件中添加更改。如果您使用Alfresco作为Windows服务,请遵循ConsultStan的说明。
答案 3 :(得分:0)
对于Tomcat,请在\ apache-tomcat-7.0.37 \ bin
中找到我编辑了catalina.bat以添加以下行:
设置JAVA_OPTS =%JAVA_OPTS%-XX:+ CMSClassUnloadingEnabled -XX:+ CMSPermGenSweepingEnabled -XX:MaxPermSize = 256M
和
我编辑了catalina.sh
JAVA_OPTS =“ - Djava.awt.headless = true -Dfile.encoding = UTF-8 -server -Xms1536m -Xmx1536m -XX:NewSize = 256m -XX:MaxNewSize = 256m -XX:PermSize = 256m -XX:MaxPermSize = 256m -XX:+ DisableExplicitGC“
它适用于e
有帮助;)