Java 内存不足-web应用程序

Java 内存不足-web应用程序,java,profiling,out-of-memory,Java,Profiling,Out Of Memory,我正试图弄明白为什么Jetty 6.1.22在我的笔记本电脑上内存不足。我有两个web应用程序运行JBossSeam、Hibernate(带有EHCache)和单独的Quartz调度程序实例 在负载很小的情况下,服务器会因内存不足而死亡 我能找什么?您是否认为我没有正确关闭输入流或文件的句柄 我尝试用Netbeans分析我的应用程序,但它断断续续地工作。通常,即使它不使用那么多CPU或内存,它也会被锁定 WalterJVM的执行参数是什么 尝试通过-Xms(默认)-Xmx(最大)和-Xmn(最小

我正试图弄明白为什么Jetty 6.1.22在我的笔记本电脑上内存不足。我有两个web应用程序运行JBossSeam、Hibernate(带有EHCache)和单独的Quartz调度程序实例

在负载很小的情况下,服务器会因内存不足而死亡

我能找什么?您是否认为我没有正确关闭输入流或文件的句柄

我尝试用Netbeans分析我的应用程序,但它断断续续地工作。通常,即使它不使用那么多CPU或内存,它也会被锁定


Walter

JVM的执行参数是什么

尝试通过-Xms(默认)-Xmx(最大)和-Xmn(最小)JVM的标志来增加可用堆内存


您还可以使用监视应用程序服务器的执行。它通常有助于找出应用程序泄漏的位置。

JVM的执行参数是什么

尝试通过-Xms(默认)-Xmx(最大)和-Xmn(最小)JVM的标志来增加可用堆内存


您还可以使用监视应用程序服务器的执行。它通常有助于找出应用程序泄漏的位置。

add-XX:+HeapDumpOnOutOfMemoryError调用jvm时,当出现OOM情况时,将转储一个.hprof文件。您可以稍后使用多种工具打开它,您将能够看到内存的去向


我使用的工具是,它非常好。

add-XX:+HeapDumpOnOutOfMemoryError调用jvm时,当您遇到OOM情况时,将转储一个.hprof文件。您可以稍后使用多种工具打开它,您将能够看到内存的去向


我使用的工具是,它非常好。

我强烈建议使用JDK中的jvisualvm附加到麻烦的程序


这允许您调查内存和cpu的使用情况,并检查一般情况。

我强烈建议您使用JDK中的jvisualvm附加到麻烦的程序


这允许您调查内存和cpu的使用情况,并检查一般情况。

发布您得到的确切消息(如果可能,使用堆栈跟踪)。有很多原因可以导致OOM,而堆内存不足只是其中之一。发布您得到的确切消息(如果可能,使用堆栈跟踪)。有很多原因可以让您获得OOM,堆内存不足只是其中之一。谢谢-我忘记了JConsole。我过去用它来观察发生了什么,这是一个非常有用的工具。希望它比Netbeans更稳定。谢谢-我忘了JConsole。我过去用它来观察发生了什么,这是一个非常有用的工具。希望它比Netbeans更稳定。谢谢-我会尝试一下。谢谢-我会尝试一下。我似乎没有jvisualvm,我先从JConsole开始。jvisualvm出现在Sun Java 6 update 10左右。您使用哪个JVM?jvisualvm应该在jdk中。也许它在OpenJDK中不存在?你有“sudo apt get install sun-java6-jdk”?(可能需要在最新的ubuntus上增加一个存储库)嗯,所以我注意到应用程序刚刚启动(在任何人真正访问该站点之前),它几乎占用了所有的PermGen空间。我的PermGen大小是88MB,启动后,它将使用大约76MB(用于2个web应用程序)。我将使用JVM设置进行一些调整。我正在使用Linode 360作为我的目标平台,所以我有360MB的ram来分配,减去其他东西所需的内存。我似乎没有jvisualvm,我先从JConsole开始。jvisualvm是在Sun Java 6 update 10中出现的。您使用哪个JVM?jvisualvm应该在jdk中。也许它在OpenJDK中不存在?你有“sudo apt get install sun-java6-jdk”?(可能需要在最新的ubuntus上增加一个存储库)嗯,所以我注意到应用程序刚刚启动(在任何人真正访问该站点之前),它几乎占用了所有的PermGen空间。我的PermGen大小是88MB,启动后,它将使用大约76MB(用于2个web应用程序)。我将使用JVM设置进行一些调整。我使用Linode 360作为我的目标平台,所以我有360MB的ram来分配,减去其他东西所需的内存。