Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java visualvm监视内存使用情况_Java_Memory Leaks_Visualvm - Fatal编程技术网

Java visualvm监视内存使用情况

Java visualvm监视内存使用情况,java,memory-leaks,visualvm,Java,Memory Leaks,Visualvm,在我的tomcat启动中,我将-xms,-xmx设置为1GB。当我监视内存时,在visualvm内部 当我对内存进行采样时,它不会显示准确的内存使用情况,除非我按下“快照”,然后使用内存的java类显示正确的模式和实例计数。为什么会这样 另外,当我将tomcat内存设置为1gb时,内存会不断增加,并上升到960mb左右。直到我按下“执行gc”并将内存恢复到200mb 您认为需要创建调度器来强制在jvm上点击perform.gc(),每天午夜吗 对我的描述有何评论 我相信您在这里看到的是并发垃圾收

在我的tomcat启动中,我将-xms,-xmx设置为1GB。当我监视内存时,在visualvm内部

  • 当我对内存进行采样时,它不会显示准确的内存使用情况,除非我按下“快照”,然后使用内存的java类显示正确的模式和实例计数。为什么会这样

  • 另外,当我将tomcat内存设置为1gb时,内存会不断增加,并上升到960mb左右。直到我按下“执行gc”并将内存恢复到200mb

  • 您认为需要创建调度器来强制在jvm上点击perform.gc(),每天午夜吗

  • 对我的描述有何评论


    我相信您在这里看到的是并发垃圾收集器正在进行年轻一代的清理,但堆一直在翻滚,因此它无法获得旧一代收集的所有引用。当您点击performgc按钮时,您正在执行一个“stoptheworld”集合,它阻塞所有线程,冻结堆,并允许发生更大的集合。我主要关心的是——是否有过大规模的收集(x小时后)?您是否看到堆较小的OutOfMemory错误

    1) 您是否打开了自动刷新按钮?也可能是探查器在拍摄快照之前执行了一个小GC(Eden空间)

    2) 这是完全正常的。垃圾收集需要时间和资源(处理器周期)。如果您已将堆设置为较大的大小,它将等待,直到达到其中的某个百分比,直到触发垃圾回收本身。我认为默认可用空间与活动对象的比率在40%到70%之间。我知道tomcat在版本5前后特别改变了垃圾收集的方式,tomcat v4出现了性能问题,因为它花费了大量时间运行垃圾收集器。您可能想在这里做一些研究,看看tomcat是否有定制的垃圾收集选项

    3) 不,几乎满满一堆正是你想要的。将堆变小可能是有意义的,这样完整的垃圾收集就不会花费这么长的时间。这是大量垃圾收集(暂停)和长时间垃圾收集(长时间暂停)之间的折衷。每个应用程序都是不同的,所以我通常从默认值开始,并根据需要进行调整。如果您感兴趣,有很多垃圾收集选项(和备用收集器)


    Java 6,

    @steve,你的问题是:是否曾经发生过大规模收集(x小时后)?答:不,我在运行它的时候没有重新启动tomcat已经有2周了。问:您是否看到较小堆的outofmemory错误?你想让我把heap-xmx设置得更小,看看是否有outofmemory?@steve 1。答:我没有使用探查器选项卡,我使用的是“采样”选项卡。默认情况下,“刷新”按钮为“我更感兴趣的是为什么首先更改堆大小……您看到任何问题了吗?此外,您可能希望尝试将-Xms去掉或设置为较小的值,以查看是否需要完整的1GB。或者你已经决定你需要一个GB的堆了吗?不,只是我放了一个外宾-xms-xmx相同。顺便说一下,我已经拿出了-xms。将更新我的观察结果。你还有什么要评论的吗?