2011-04-25 26 views
0

我使用JVM參數開始樹脂3.0.28? 我使用jmap -heap,輸出如下: 它顯示jvm堆內存處於正常狀態。樹脂內存問題

 
Attaching to process ID 9456, please wait... 
Debugger attached successfully. 
Server compiler detected. 
JVM version is 10.0-b22 

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

Heap Configuration: 
    MinHeapFreeRatio = 40 
    MaxHeapFreeRatio = 70 
    MaxHeapSize  = 6606028800 (6300.0MB) 
    NewSize   = 2686976 (2.5625MB) 
    MaxNewSize  = -65536 (-0.0625MB) 
    OldSize   = 5439488 (5.1875MB) 
    NewRatio   = 2 
    SurvivorRatio = 8 
    PermSize   = 134217728 (128.0MB) 
    MaxPermSize  = 134217728 (128.0MB) 

Heap Usage: 
PS Young Generation 
Eden Space: 
    capacity = 2155151360 (2055.3125MB) 
    used  = 1966086568 (1875.0062637329102MB) 
    free  = 189064792 (180.30623626708984MB) 
    91.22730795112228% used 
From Space: 
    capacity = 23265280 (22.1875MB) 
    used  = 13849352 (13.207771301269531MB) 
    free  = 9415928 (8.979728698730469MB) 
    59.527983329665496% used 
To Space: 
    capacity = 23068672 (22.0MB) 
    used  = 0 (0.0MB) 
    free  = 23068672 (22.0MB) 
    0.0% used 
PS Old Generation 
    capacity = 4404019200 (4200.0MB) 
    used  = 3854164456 (3675.6176528930664MB) 
    free  = 549854744 (524.3823471069336MB) 
    87.51470602126349% used 
PS Perm Generation 
    capacity = 134217728 (128.0MB) 
    used  = 53393152 (50.919677734375MB) 
    free  = 80824576 (77.080322265625MB) 
    39.78099822998047% used 

回答

0

你究竟是什麼意思,我的「記憶保留」?我將假定你的意思是由進程自己分配的內存:

堆不會使用超過你指定的(除了一些碎片,但這是次要的)。該過程中的「其他對象」使用此空間,儘管樹脂或JVM可能有問題,特別是如果內存在數週內穩定增加,樹脂和hvm使用的內存量也可能是正常的。

JVM memory consumption double of heapsize

總之:

在我試圖回答另一個類似的問題,看一看確保您的看着正確的進程大小。我通常在32位Debian系統上選擇1-1.5 GB的非java-heap空間用於樹脂(這當然會使您的4 GB聲音變大)。

此外:
-Xss128k -XX:ThreadStackSize = 256

將被解釋爲

-XX:ThreadStackSize = 128 -XX:ThreadStackSize = 256,

,所以你可能要刪除其中一個...(見http://mail.openjdk.java.net/pipermail/hotspot-dev/2011-June/004272.html