我们的开发中经常出现内存错误。我们正在运行webshpere,eclipse,soap UI和maven。当我们在websphere中重启应用程序2/3次时,我们的服务器由于“内存不足错误”而停机,我们已经将wesphere中的虚拟内存设置增加到1GB。
所以我所做的是复制我们在eclipse和maven文件夹中使用的jre,以便每个使用单独的jvms。但是websphere的性能是一样的。 2/3重新启动和内存不足错误。
是否有任何可能使eclipse和maven使用除了websphere之外的不同jvms?
答案 0 :(得分:3)
回答问题:
如果多次启动java,则每个自己的内存都会运行多个java副本。 Eclipse和websphere可能是单独启动的,因此请使用独立内存。你的麻烦不应该存在。
回答你的问题
内存不足
Eclipse和Websphere都可以像明天那样吞噬内存。查看-X标志,应将perm gen空间的标志添加到堆空间的标志中以获取内存消耗。还允许操作系统,窗口环境,电子邮件客户端,浏览器(500 MB - 1 GB左右,具体取决于操作系统和您正在运行的内容)的一些开销。因此可能是计算机内存不足。
更频繁地分配给jvm的内存量是不够的。 Java尚未为分配给它的应用程序启动足够的内存。由你来推断它是否是用尽的堆空间或PermGen空间。两者都可以调整,看看this website。标志是-Xmx和-XX:MaxPermSize。查看Websphere的启动脚本,因为那是抱怨的。
建议
检查哪种内存不存在,并在堆栈溢出时搜索; PermGen或Heap Space应该这样做。
答案 1 :(得分:0)
您应该在所有三个进程中将JVM Xmx参数设置为小于或等于256MB。它永远不会超过256 MB的限制(考虑到程序没有内存泄漏)
答案 2 :(得分:-1)
复制文件夹是不够的。
在Eclipse中,转到Preferences
,在Java-> Installed JREs
下,确保使用的JRE与WebSphere使用的路径不同。