帮酷LOGO
0 0 评论
  • 显示原文与译文双语对照的内容


问题:

我有一个使用反向代理的Ubuntu服务器 12.04,以便tomcat在apache之上运行。 我在那台机器上有一个融合实例,还有一个票务系统。 所以没有什么特殊。

内存是 8GB,这对这个用户来说足够了。

有时,在过去的几天中,我的合并页面崩溃了。

日志(。confluencelogscatalina。2014-05-06 ) 显示以下内容:

SEVERE: Socket accept failed
java.lang.OutOfMemoryError: Java heap space

那么我怎样才能避免? 我怎样才能让这个过程更为。


回答 1:

在我的系统中,我编辑了文件

/etc/init.d/tomcat 

用这些行

HEAP="-Xms2048m -Xmx2048m" 
export JAVA_OPTS="$HEAP"

在重启tomcat之后,你可以在状态部分看到分配的内存


回答 2:

你还可以在 tomcat/bin/setenv.sh 文件中执行该操作并重新启动 tomcat:

export JAVA_OPTS="-Xms512m -Xmx1024m"

回答 3:

错误的原因是由于Java分配内存的方式。 你的应用程序只能使用有限数量的内存。 这里限制是在应用程序启动期间指定的。

允许在JVM启动期间设置最大大小,方法是指定JVM参数,例如 -Xmx。 如果未显式设置大小,则将使用平台特定的默认设置。

因这里,当试图将更多数据添加到内存中的堆空间区域时,"。java.lang.outofmemoryerror: Java堆空间"错误将被触发。

因此,明显的方法是增加( 如果缺少则添加)的最大可能堆大小通过-Xmx参数指定。 但在许多情况下,你只是隐藏症状而不是解决底层问题。 要查看 java.lang. OutOfMemoryError的完整解释,请执行以下操作: Java堆空间错误,请查看 Plumbr 性能调优站点。





Copyright © 2011 HelpLib All rights reserved.    知识分享协议 京ICP备05059198号-3  |  如果智培  |  酷兔英语