![Tomcat 没有获得足够的内存](https://linux22.com/image/23557/Tomcat%20%E6%B2%A1%E6%9C%89%E8%8E%B7%E5%BE%97%E8%B6%B3%E5%A4%9F%E7%9A%84%E5%86%85%E5%AD%98.png)
我正在尝试在我的虚拟服务器上设置 jira 实例。
我有分钟。 1 GB 内存和最大内存2 GB 内存。它在我朋友的服务器上运行,只有 512 MB 内存。
第一个错误是:
java.lang.OutOfMemoryError: unable to create new native thread
我修复了这个问题
ulimit -u 2048
之后,出现错误:
Java HotSpot(TM) 64-Bit Server VM warning: Exception java.lang.OutOfMemoryError occurred dispatching signal SIGTERM to handler- the VM may need to
被强行终止
发生了。
我的环境:
___ Environment _____________________________
JIRA Build : 5.0.6#733-sha1:f48fab7a0abaa0a316c14a3fc86cdf5a6805ba12
Build Date : Thu May 31 00:00:00 CEST 2012
JIRA Installation Type : Standalone
Application Server : Apache Tomcat/6.0.32 - Servlet API 2.5
Java Version : 1.7.0_05 - Oracle Corporation
Current Working Directory : /tmp/atlassian-jira-5.0.6-standalone
Maximum Allowable Memory : 742MB
Total Memory : 247MB
Free Memory : 210MB
Used Memory : 37MB
有什么建议么?
答案1
使用 32 位变体jdk
。如果您不需要超过 3 GB 的 Java 可访问 RAM,64 位只会造成不必要的开销。
答案2
如果这种情况经常发生,您应该使用-Xms512m -Xmx512m
默认值仅约 128MB 来增加堆大小,这对于某些系统来说是不够的。
您还应该查看 Jira 中是否存在内存泄漏。它是否定期发生,例如每 4-5 天一次?然后您可能需要寻找 servlet 的补丁并安排偶尔的重新启动。