跑着的 Java 程序突然开始频繁报 java.lang.OutOfMemoryError: Java heap space 错误,应该是内存不足。想查一下是哪里有内存泄漏,用 jmap -heap 查到堆占用也就 1g 左右。但是任务管理器中这个程序占了 2g 多内存。用 jconsole 查看非堆内存也就占了 100MB,想问下还有 1g 多内存是从哪里产生的,这种问题还有什么好的方法可以排查吗
Heap Configuration:
MinHeapFreeRatio = 0
MaxHeapFreeRatio = 100
MaxHeapSize = 2128609280 (2030.0
NewSize = 44564480 (42.5MB)
MaxNewSize = 709361664 (676.5MB
OldSize = 89653248 (85.5MB)
NewRatio = 2
SurvivorRatio = 8
MetaspaceSize = 21807104 (20.79687
CompressedClassSpaceSize = 1073741824 (1024.0
MaxMetaspaceSize = 17592186044415 MB
G1HeapRegionSize = 0 (0.0MB)
Heap Usage:
PS Young Generation
Eden Space:
capacity = 380633088 (363.0MB)
used = 142412024 (135.81468963623047MB)
free = 238221064 (227.18531036376953MB)
37.41451505130316% used
From Space:
capacity = 153092096 (146.0MB)
used = 98938800 (94.35539245605469MB)
free = 54153296 (51.64460754394531MB)
64.62698113428404% used
To Space:
capacity = 160956416 (153.5MB)
used = 0 (0.0MB)
free = 160956416 (153.5MB)
0.0% used
PS Old Generation
capacity = 1143472128 (1090.5MB)
used = 856911104 (817.214111328125MB)
free = 286561024 (273.285888671875MB)
74.9393958118409% used
31023 interned Strings occupying 3682496 bytes.
Heap Configuration:
MinHeapFreeRatio = 0
MaxHeapFreeRatio = 100
MaxHeapSize = 2128609280 (2030.0
NewSize = 44564480 (42.5MB)
MaxNewSize = 709361664 (676.5MB
OldSize = 89653248 (85.5MB)
NewRatio = 2
SurvivorRatio = 8
MetaspaceSize = 21807104 (20.79687
CompressedClassSpaceSize = 1073741824 (1024.0
MaxMetaspaceSize = 17592186044415 MB
G1HeapRegionSize = 0 (0.0MB)
Heap Usage:
PS Young Generation
Eden Space:
capacity = 380633088 (363.0MB)
used = 142412024 (135.81468963623047MB)
free = 238221064 (227.18531036376953MB)
37.41451505130316% used
From Space:
capacity = 153092096 (146.0MB)
used = 98938800 (94.35539245605469MB)
free = 54153296 (51.64460754394531MB)
64.62698113428404% used
To Space:
capacity = 160956416 (153.5MB)
used = 0 (0.0MB)
free = 160956416 (153.5MB)
0.0% used
PS Old Generation
capacity = 1143472128 (1090.5MB)
used = 856911104 (817.214111328125MB)
free = 286561024 (273.285888671875MB)
74.9393958118409% used
31023 interned Strings occupying 3682496 bytes.