我正在尝试在应用程序中查找内存泄漏。它是使用Hibernate和Lucene在GlassFish 2上运行的Java EE应用程序。
系统监视器告诉我GlassFish使用的内存超过4GB。但是当我在jprofiler中打开堆转储时,它告诉我只分配了大约600mb。
你认为我在做什么是错的?
您是否认为其余的可能是垃圾收集的对象并且gc有问题?我们处理大量数据,所以我确信在很短的时间内就会创建很多对象。
答案 0 :(得分:0)
600MB
提到的JProfiler
是java的堆,它将根据需要扩展到最大堆空间。
系统监视器提到的4GB
是所有应用程序(JVM,您的服务器等)使用的内存