打å°å‡ºæŸä¸ªjava˜q›ç¨‹åQˆä‹É用pidåQ‰å†…å˜å†…的,所æœ?#8216;对象’的情况(如:产生那些对象åQŒåŠå…¶æ•°é‡ï¼‰ã€?/p>
å¯ä»¥è¾“出所有内å˜ä¸å¯¹è±¡çš„工典P¼Œç”šè‡³å¯ä»¥ž®†VM ä¸çš„heapåQŒä»¥äºŒè¿›åˆ¶è¾“å‡ºæˆæ–‡æœ¬ã€‚ä‹É用方æ³?nbsp;jmap -histo pidã€?br />如果˜qžç”¨SHELL jmap -histo pid>a.logå¯ä»¥ž®†å…¶ä¿å˜åˆ°æ–‡æœ¬ä¸åŽ»ï¼Œåœ¨ä¸€ŒD‰|—¶é—´åŽåQŒä‹Éç”¨æ–‡æœ¬å¯¹æ¯”å·¥å…øP¼Œå¯ä»¥å¯Òޝ”
出GC回收了哪些对象。jmap -dump:format=b,file=outfile 3024å¯ä»¥ž®?024˜q›ç¨‹çš„内å˜heap输出出æ¥åˆ°outfileæ–?br />仉™‡ŒåQŒå†é…åˆMATåQˆå†…å˜åˆ†æžå·¥å…?Memory Analysis ToolåQ‰ï¼Œä½¿ç”¨å‚è§åQ?br /> http://blog.csdn.net/fenglibing/archive/2011/04/02/6298326.aspxåQ?br />或与jhat (Java Heap Analysis Tool)一起ä‹É用,能够以图åƒçš„å½¢å¼ç›´è§‚的展½Cºå½“å‰å†…å˜æ˜¯å¦æœ‰é—®é¢˜ã€?/p>
64使œºä¸Šä‹É用需è¦ä‹É用如下方å¼ï¼š
jmap -J-d64 -heap pid
2ã€å‘½ä»¤æ ¼å¼?/strong>
命ä×o行输入ã€jmap】帮助æ½Cºå¦‚ä¸?/strong>åQ?/span>
jmap [ option ] pid
jmap [ option ] executable core
jmap [ option ] [server-id@]remote-hostname-or-IP
3ã€å‚数说æ˜?/strong>
1åQ‰optionsåQ?nbsp;
executable Java executable from which the core dump was produced.
(å¯èƒ½æ˜¯äñ”生core dumpçš„java坿‰§è¡Œç¨‹åº?
core ž®†è¢«æ‰“å°ä¿¡æ¯çš„core dumpæ–‡äšg
remote-hostname-or-IP ˜qœç¨‹debugæœåŠ¡çš„ä¸»æœºåæˆ–ip
server-id 唯一id,å‡å¦‚一åîC¸»æœÞZ¸Šå¤šä¸ª˜qœç¨‹debugæœåŠ¡
2åQ‰åŸºæœ¬å‚敎ͼš
-dump:[live,]format=b,file=<filename> 使用hprof二进制åÅžå¼?输出jvmçš„heap内容到文ä»Óž¼›
liveå选项是å¯é€‰çš„åQŒå‡å¦‚指定live选项,那么åªè¾“出活的对象到文äšg.
-finalizerinfo æ‰“å°æ£ç‰å€™å›žæ”¶çš„对象的信æ?
-heap 打å°heap的概è¦ä¿¡æ¯ï¼ŒGC使用的算法,heap的酾|®åŠwise heapçš„ä‹É用情å†?
-histo[:live] æ‰“å°æ¯ä¸ªclass的实例数ç›?内å˜å 用,¾cÕd…¨åä¿¡æ? VM的内部类åå—å¼€å¤´ä¼šåŠ ä¸Šå‰ç¼€”*”.
如果liveå傿•°åŠ ä¸ŠåŽ,åªç»Ÿè®¡æ´»çš„对象数é‡?
-permstat 打å°classloadå’Œjvm heap长久层的信æ¯. åŒ…å«æ¯ä¸ªclassloaderçš„åå?‹zÀL³¼æ€?地å€,父classloader
å’ŒåŠ è½½çš„classæ•°é‡. å¦å¤–,内部String的数é‡å’Œå ç”¨å†…å˜æ•îC¹Ÿä¼šæ‰“å°å‡ºæ?
-F **.在pid没有相应的时候ä‹Éç”?dump或è€?histo傿•°. 在这个模å¼ä¸‹,liveå傿•°æ— æ•?
-h | -help 打å°è¾…助信æ¯
-J ä¼ é€’å‚æ•°ç»™jmapå¯åŠ¨çš„jvm.
pid 需è¦è¢«æ‰“å°é…相信æ¯çš„java˜q›ç¨‹id,å¯ä»¥ç”¨jps查问.
4ã€ä‹É用示ä¾?/strong>
1åQ‰[fenglb@ccbu-156-5 ~]$ jmap -histo 4939
2åQ‰[fenglb@ccbu-156-5 ~]$ jmap -dump:format=b,file=test.bin 4939
Dumping heap to /home/fenglb/test.bin ...
Heap dump file created