作者qrtt1 (lonely)
看板java
標題Re: [問題] 想知道java heap預設大小
時間Mon Feb 6 11:42:49 2012
※ 引述《kuro44776 (羽嵐)》之銘言:
: 如題
: 最近在跑一個大型的程式
: 但是經常跑到一半就出現 outofmemoryerror : java heap space
: 經過爬文 原因似乎是因為jvm的記憶體用盡
: 所以我一口氣把他加到10G
: 目前程式還在執行中(希望別再出狀況的)
: 但是這一點也因此讓我很好奇
: 他預設的SIZE到底是多大啊???
: 他是會自行決定還是有一個預設值在?
: 因為找不到相關的資訊所以才來發問
: 希望可以從這邊知道答案 謝謝
qty:lab qrtt1$ jps
10499 JConsole
10502 Jps
qty:lab qrtt1$ jmap -heap 10499
Attaching to process ID 10499, please wait...
Debugger attached successfully.
Server compiler detected.
JVM version is 20.4-b02-402
using parallel threads in the new generation.
using thread-local object allocation.
Concurrent Mark-Sweep GC
Heap Configuration:
MinHeapFreeRatio = 40
MaxHeapFreeRatio = 70
MaxHeapSize = 132120576 (126.0MB)
NewSize = 21757952 (20.75MB)
MaxNewSize = 87228416 (83.1875MB)
OldSize = 65404928 (62.375MB)
NewRatio = 7
SurvivorRatio = 8
PermSize = 21757952 (20.75MB)
MaxPermSize = 85983232 (82.0MB)
Heap Usage:
New Generation (Eden + 1 Survivor Space):
capacity = 19595264 (18.6875MB)
used = 3182272 (3.03485107421875MB)
free = 16412992 (15.65264892578125MB)
16.24000574832776% used
Eden Space:
capacity = 17432576 (16.625MB)
used = 1019584 (0.97235107421875MB)
free = 16412992 (15.65264892578125MB)
5.848728265977444% used
From Space:
capacity = 2162688 (2.0625MB)
used = 2162688 (2.0625MB)
free = 0 (0.0MB)
100.0% used
To Space:
capacity = 2162688 (2.0625MB)
used = 0 (0.0MB)
free = 2162688 (2.0625MB)
0.0% used
concurrent mark-sweep generation:
capacity = 65404928 (62.375MB)
used = 119080 (0.11356353759765625MB)
free = 65285848 (62.261436462402344MB)
0.18206579173972945% used
Perm Generation:
capacity = 21757952 (20.75MB)
used = 17986584 (17.153343200683594MB)
free = 3771368 (3.5966567993164062MB)
82.6667142201619% used
qty:lab qrtt1$
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.130.128.164
推 kuro44776:謝謝 這篇很詳細 02/06 12:29
→ qrtt1:我只打了二個指令啊orz 02/06 13:11
推 LaPass:請問,可以教一下怎麼打嗎? 從cmd下指令還是哪裡? 02/06 13:14
→ qrtt1:這些都是標準 jdk 附的指令啊。 02/06 15:50
推 LaPass:我只在開始學java的時候打過幾次指令而以說.. QQ 02/07 00:10