日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

jmap查看内存使用情况与生成heapdump--转

發(fā)布時(shí)間:2025/4/5 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 jmap查看内存使用情况与生成heapdump--转 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

http://www.webspherechina.net/home/space.php?uid=191&do=blog&id=7572

如果想分析自己的JAVA Application時(shí),可以使用jmap程序來生成heapdump文件。

例:
jmap -heap 1234
(1234為進(jìn)程號)

jmap是JDK自帶的一個工具,非常小巧方便,其支持參數(shù)如下:

?-heap???????
打印heap空間的概要,這里可以粗略的檢驗(yàn)heap空間的使用情況。
例:
jmap -heap 12345
輸出:
Attaching to process ID 2657, please wait...
Debugger attached successfully.
Client compiler detected.
JVM version is 1.5.0_16-b02
?
using thread-local object allocation.
Mark Sweep Compact GC
?
Heap Configuration:
?? MinHeapFreeRatio = 40
?? MaxHeapFreeRatio = 70
?? MaxHeapSize????? = 67108864 (64.0MB)
?? NewSize????????? = 655360 (0.625MB)
?? MaxNewSize?????? = 4294901760 (4095.9375MB)
?? OldSize????????? = 1441792 (1.375MB)
?? NewRatio???????? = 12
?? SurvivorRatio??? = 8
?? PermSize???????? = 8388608 (8.0MB)
?? MaxPermSize????? = 67108864 (64.0MB)
?
Heap Usage:
New Generation (Eden + 1 Survivor Space):
?? capacity = 4521984 (4.3125MB)
?? used???? = 1510200 (1.4402389526367188MB)
?? free???? = 3011784 (2.8722610473632812MB)
?? 33.39684527853261% used
Eden Space:
?? capacity = 4063232 (3.875MB)
?? used???? = 1495992 (1.4266891479492188MB)
?? free???? = 2567240 (2.4483108520507812MB)
?? 36.81778446320565% used
From Space:
?? capacity = 458752 (0.4375MB)
?? used???? = 14208 (0.0135498046875MB)
?? free???? = 444544 (0.4239501953125MB)
?? 3.0970982142857144% used
To Space:
?? capacity = 458752 (0.4375MB)
?? used???? = 0 (0.0MB)
?? free???? = 458752 (0.4375MB)
?? 0.0% used
tenured generation:
?? capacity = 59342848 (56.59375MB)
?? used???? = 36321192 (34.638587951660156MB)
?? free???? = 23021656 (21.955162048339844MB)
?? 61.20567721994064% used
Perm Generation:
?? capacity = 11796480 (11.25MB)
?? used???? = 11712040 (11.169471740722656MB)
?? free???? = 84440 (0.08052825927734375MB)
?? 99.28419325086806% used

以上的輸出很簡單,第四行起開始輸出此進(jìn)程我們的JAVA使用的環(huán)境。
Heap Configuration,指在我們啟動時(shí)設(shè)置的一些JVM參數(shù)。像最大使用內(nèi)存大小,年老代,年青代,持久代大小等。有這個可以很簡單的查看本進(jìn)程的內(nèi)存使用情況。也許進(jìn)程占用的總內(nèi)存比較多,但我們在這里可以看到真正用到的并沒有多少,很多都是"Free"。內(nèi)存使用的堆積大多在老年代,內(nèi)存池露始于此,所以要格外關(guān)心“tenured generation”。


-heap:format=b??????
產(chǎn)生一個HeapDump文件,此為生成heapdump文件的重要參數(shù)。
例:jmap -heap:format=b 2657
會產(chǎn)生一個heap.bin的heapdump文件。
需要注意的是,此生成heapdump的參數(shù)為JDK1.5,在1.6中的格式為:
jmap -dump:live,format=b,file=xxx 2657
這里更加強(qiáng)大一些,可以指定是存活的對象,還有生成heapdump的文件名。

-histo
這里會生成一個類的統(tǒng)計(jì)報(bào)表,此表簡單無比,如顯示什么類有多少個實(shí)例,共占了多少字節(jié)等,如下:
Size??? Count?? Class description
-------------------------------------------------------
8394352 105???? long[]
8293192 57202?? char[]
7834776 14157?? byte[]
6713592 53743?? * ConstMethodKlass
4194320 1?????? com.xjawa.cms5server.Kontent[]
4055072 12319?? int[]
3291104 85082?? * SymbolKlass
3016040 53743?? * MethodKlass
2774936 4253??? * ConstantPoolKlass
1871480 4253??? * InstanceKlassKlass
1811808 3990??? * ConstantPoolCacheKlass
1488672 62028?? java.lang.String
1203280 13258?? java.lang.Object[]

-permstat??
打印一些持久代上的內(nèi)存使用狀態(tài),有“活”的,有“死”的。本人用之不多。

轉(zhuǎn)載于:https://www.cnblogs.com/davidwang456/p/3464540.html

總結(jié)

以上是生活随笔為你收集整理的jmap查看内存使用情况与生成heapdump--转的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。