查看運行中的Java其配置的堆大小


一、背景

有題目中的需求,也不是空穴來風;前一陣給公司搭建了一個持續集成服務器,Jenkins。最近發現,運行一段時間后,就變慢了。

隨便一個操作,cpu就飆高了。然后就思考會不會是內存不夠用,頻繁GC導致的呢?

Jenkins是個war包,我直接放在tomcat運行的。所以,我需要查看下,當前運行的這個tomcat的堆大小。

 

二、步驟

[root@pas jenkins-apache-tomcat-8.5.28]# jmap -heap 90170
Attaching to process ID 90170, please wait...
Debugger attached successfully.
Server compiler detected.
JVM version is 25.161-b12

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

Heap Configuration:
   MinHeapFreeRatio         = 0
   MaxHeapFreeRatio         = 100
   MaxHeapSize              = 4160749568 (3968.0MB)  -----------堆的最大容量
   NewSize                  = 86507520 (82.5MB)
   MaxNewSize               = 1386741760 (1322.5MB) 
   OldSize                  = 173539328 (165.5MB)
   NewRatio                 = 2
   SurvivorRatio            = 8
   MetaspaceSize            = 21807104 (20.796875MB)
   CompressedClassSpaceSize = 1073741824 (1024.0MB)
   MaxMetaspaceSize         = 17592186044415 MB
   G1HeapRegionSize         = 0 (0.0MB)

Heap Usage:
PS Young Generation
Eden Space:
   capacity = 1306001408 (1245.5MB)
   used     = 1123777200 (1071.7174530029297MB)
   free     = 182224208 (173.7825469970703MB)
   86.04716603797107% used
From Space:
   capacity = 37748736 (36.0MB)
   used     = 17255448 (16.456077575683594MB)
   free     = 20493288 (19.543922424316406MB)
   45.711326599121094% used
To Space:
   capacity = 37224448 (35.5MB)
   used     = 0 (0.0MB)
   free     = 37224448 (35.5MB)
   0.0% used
PS Old Generation
   capacity = 212336640 (202.5MB)
   used     = 90248224 (86.06741333007812MB)
   free     = 122088416 (116.43258666992188MB)
   42.50242633584105% used

44622 interned Strings occupying 4789016 bytes.

 

具體的字段意思,我查閱了oracle的官方資料,如下,但也沒有看到具體解釋,只能慢慢探索了:

https://docs.oracle.com/javase/8/docs/technotes/guides/troubleshoot/tooldescr014.html#BABJIIIH

可以看到,上面的tomcat的最大堆容量還是很大的,當然,我們自己沒有配置過,應該是JVM根據機器的物理內存大小,自動計算的。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM