Ren*_*eld 2 java garbage-collection jvm
我正在进行一项研究,调查一些JVM以及它的内存使用情况.我不明白的是,JVM在空闲时填充它的内存是什么,只是在几乎达到堆时释放它?为什么不只有一个用过的内存扁平线?顺便说一句,这个java应用程序托管在glassfish上,但是当我有一个简单的'hello world'swing应用程序时,我有相同的图表.所以GlassFish不必对它做任何事情.

提前致谢!
什么JVM在空闲时填充它的内存,只是在几乎达到堆时释放它?
如果您的应用程序真正空闲,最可能的情况是VisualVM.尝试降低采样率并查看速率存储器是否消耗也会下降.
为什么不只有一个用过的内存扁平线?
JMX是用Java编写的,所以当它收集统计信息并序列化数据时,会产生相当多的垃圾.您可以打开内存分析以确认所有内存耗尽都与JMX和VisualVM相关.如果使用使用本机代理监视JVM的商业概要分析程序,则不会看到此行为.例如,YourKit不会这样做.