小编kul*_*lan的帖子

100%满伊甸园空间,0%使用幸存者空间 - 未完成垃圾收集

我遇到了一个相当令人困惑的GC情况:当Eden空间100%满时,使用0%的幸存空间.当伊甸园已满时,应该触发垃圾收集,对吧?

是否存在阻止GC守护程序运行的情况?像一个100%的CPU?

我们正在使用jdk-1.7.

可能是什么原因?下面是jmap输出.

我们还尝试使用捕获更详细的内存使用情况jmap -histo -F,但随后CPU使用率降至0%并且java进程无法访问.

using thread-local object allocation.
Parallel GC with 18 thread(s)

Heap Configuration:
   MinHeapFreeRatio = 40
   MaxHeapFreeRatio = 70
   MaxHeapSize      = 12884901888 (12288.0MB)
   NewSize          = 1310720 (1.25MB)
   MaxNewSize       = 17592186044415 MB
   OldSize          = 5439488 (5.1875MB)
   NewRatio         = 2
   SurvivorRatio    = 8
   PermSize         = 21757952 (20.75MB)
   MaxPermSize      = 85983232 (82.0MB)
   G1HeapRegionSize = 0 (0.0MB)

Heap Usage:
PS Young Generation
Eden Space:
   capacity = 4265738240 (4068.125MB)
   used     = 4265738240 (4068.125MB)
   free     = 0 …
Run Code Online (Sandbox Code Playgroud)

java garbage-collection

26
推荐指数
3
解决办法
4万
查看次数

jmap -histo可以触发完整的垃圾回收吗?

我们知道jmap -histo:live会触发一个完整的gc来确定活动对象:

当使用live选项时,jmap是否强制执行垃圾收集?

由于jmap -histo考虑堆中的所有对象(年轻和老一代中的对象),我的观点是,jmap -histo也可以触发完整的gc.但是,我无法找到关于jmap -histo是否可以触发完整gc的可靠文档.

jmap -histo可以触发完整的垃圾回收吗?

garbage-collection jmap

3
推荐指数
2
解决办法
5118
查看次数

标签 统计

garbage-collection ×2

java ×1

jmap ×1