麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學(xué)院 > 操作系統(tǒng) > 正文

Jstat在分析java的內(nèi)存GC時的應(yīng)用

2024-06-28 15:59:50
字體:
供稿:網(wǎng)友
jstat工具特別強(qiáng)大,有眾多的可選項,詳細(xì)查看堆內(nèi)各個部分的使用量,以及加載類的數(shù)量。使用時,需加上查看進(jìn)程的進(jìn)程id,和所選參數(shù)。執(zhí)行:cd $java_HOME/bin中執(zhí)行jstat,注意jstat后一定要跟參數(shù)。各個參數(shù)的意義。     jstat -class pid:顯示加載class的數(shù)量,及所占空間等信息。     jstat -compiler pid:顯示VM實時編譯的數(shù)量等信息。     jstat -gc pid:可以顯示gc的信息,查看gc的次數(shù),及時間。其中最后五項,分別是young gc的次數(shù),young gc的時間,full gc的次數(shù),full gc的時間,gc的總時間。     jstat -gccapacity:可以顯示,VM內(nèi)存中三代(young,old,perm)對象的使用和占用大小,如:PGCMN顯示的是最小perm的內(nèi)存使用量,PGCMX顯示的是perm的內(nèi)存最大使用量,PGC是當(dāng)前新生成的perm內(nèi)存占用量,PC是但前perm內(nèi)存占用量。其他的可以根據(jù)這個類推, OC是old內(nèi)純的占用量。     jstat -gcnew pid:new對象的信息。     jstat -gcnewcapacity pid:new對象的信息及其占用量。     jstat -gcold pid:old對象的信息。     jstat -gcoldcapacity pid:old對象的信息及其占用量。     jstat -gcpermcapacity pid: perm對象的信息及其占用量。     jstat -util pid:統(tǒng)計gc信息統(tǒng)計。     jstat -PRintcompilation pid:當(dāng)前VM執(zhí)行的信息。     除了以上一個參數(shù)外,還可以同時加上 兩個數(shù)字,如:jstat -printcompilation 3024 250 6是每250毫秒打印一次,一共打印6次,還可以加上-h3每三行顯示一下標(biāo)題。語法結(jié)構(gòu):   Usage: jstat -help|-options          jstat -<option> [-t] [-h<lines>] <vmid> [<interval> [<count>]]   參數(shù)解釋:   Options — 選項,我們一般使用 -gcutil 查看gc情況比較多   vmid    — VM的進(jìn)程號,即當(dāng)前運行的java進(jìn)程號   interval– 間隔時間,單位為秒或者毫秒   count   — 打印次數(shù),如果缺省則打印無數(shù)次   S0  — Heap上的 Survivor space 0 區(qū)已使用空間的百分比 S1  — Heap上的 Survivor space 1 區(qū)已使用空間的百分比 E   — Heap上的 Eden space 區(qū)已使用空間的百分比 O   — Heap上的 Old space 區(qū)已使用空間的百分比 P   — Perm space 區(qū)已使用空間的百分比 YGC — 從應(yīng)用程序啟動到采樣時發(fā)生 Young GC 的次數(shù) YGCT– 從應(yīng)用程序啟動到采樣時 Young GC 所用的時間(單位秒) FGC — 從應(yīng)用程序啟動到采樣時發(fā)生 Full GC 的次數(shù) FGCT– 從應(yīng)用程序啟動到采樣時 Full GC 所用的時間(單位秒) GCT — 從應(yīng)用程序啟動到采樣時用于垃圾回收的總時間(單位秒)如:[root@localhost bin]# jstat -gcutil 25332  1000  10     (25332是java的進(jìn)程號,ps -ef | grep java)分代概念:分代是Java垃圾收集的一大亮點,根據(jù)對象的生命周期長短,把堆分為3個代:Young,Old和Permanent,根據(jù)不同代的特點采用不同的收集算法,揚(yáng)長避短也。Young(Nursery),年輕代。研究表明大部分對象都是朝生暮死,隨生隨滅的。因此所有收集器都為年輕代選擇了復(fù)制算法。復(fù)制算法優(yōu)點是只訪問活躍對象,缺點是復(fù)制成本高。因為年輕代只有少量的對象能熬到垃圾收集,因此只需少量的復(fù)制成本。而且復(fù)制收集器只訪問活躍對象,對那些占了最大比率的死對象視而不見,充分發(fā)揮了它遍歷空間成本低的優(yōu)點。Young(年輕代)年 輕代分三個區(qū)。一個Eden區(qū),兩個Survivor區(qū)。大部分對象在Eden區(qū)中生成。當(dāng)Eden區(qū)滿時,還存活的對象將被復(fù)制到Survivor區(qū) (兩個中的一個),當(dāng)這個Survivor區(qū)滿時,此區(qū)的存活對象將被復(fù)制到另外一個Survivor區(qū),當(dāng)這個Survivor去也滿了的時候,從第一 個Survivor區(qū)復(fù)制過來的并且此時還存活的對象,將被復(fù)制“年老區(qū)(Tenured)”。需要注意,Survivor的兩個區(qū)是對稱的,沒先后關(guān) 系,所以同一個區(qū)中可能同時存在從Eden復(fù)制過來 對象,和從前一個Survivor復(fù)制過來的對象,而復(fù)制到年老區(qū)的只有從第一個Survivor去過來的對象。而且,Survivor區(qū)總有一個是空 的。Tenured(年老代)年老代存放從年輕代存活的對象。一般來說年老代存放的都是生命期較長的對象。Perm(持久代)用 于存放靜態(tài)文件,如今Java類、方法等。持久代對垃圾回收沒有顯著影響,但是有些應(yīng)用可能動態(tài)生成或者調(diào)用一些class,例如Hibernate等, 在這種時候需要設(shè)置一個比較大的持久代空間來存放這些運行過程中新增的類。持久代大小通過-XX:MaxPermSize=進(jìn)行設(shè)置。Gc的基本概念gc分為full gc 跟 minor gc,當(dāng)每一塊區(qū)滿的時候都會引發(fā)gc。Scavenge GC一般情況下,當(dāng)新對象生成,并且在Eden申請空間失敗時,就觸發(fā)了Scavenge GC,堆Eden區(qū)域進(jìn)行GC,清除非存活對象,并且把尚且存活的對象移動到Survivor區(qū)。然后整理Survivor的兩個區(qū)。Full GC對整個堆進(jìn)行整理,包括Young、Tenured和Perm。Full GC比Scavenge GC要慢,因此應(yīng)該盡可能減少Full GC。有如下原因可能導(dǎo)致Full GC:Tenured被寫滿Perm域被寫滿System.gc()被顯示調(diào)用上一次GC之后Heap的各域分配策略動態(tài)變化
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 国产精品免费一区二区三区四区 | 成年免费大片黄在线观看岛国 | 久久精品免费国产 | 蜜桃传媒视频麻豆第一区免费观看 | 视频一区二区视频 | 精品亚洲va在线va天堂资源站 | 看免费av| 亚洲欧美成aⅴ人在线观看 av免费在线播放 | 艹男人的日日夜夜 | 逼片视频 | 久久久久久久久久美女 | 久久亚洲春色中文字幕久久 | 精品久久久久99 | 美国黄色毛片女人性生活片 | 91,视频免费看 | 黄色大片高清 | 欧美 国产 亚洲 卡通 综合 | 国产精品久久久久影院老司 | 在线免费观看精品 | 99精品国产一区二区三区 | jizzjizzjizz少妇 | 高清中文字幕在线 | 99精品视频在线免费观看 | 91精品国产九九九久久久亚洲 | 麻豆国产网站 | 午夜国产在线观看 | 日本不卡视频在线观看 | 国产一国产精品一级毛片 | 中文字幕www| 精品久久久久久久久中文字幕 | 久久超| 色吧综合网 | 欧美a在线观看 | 亚洲国产网址 | 在线免费91 | 精品在线观看一区 | 精品国产一区二区三区久久久蜜 | 99精品国产小情侣高潮露脸在线 | 中国产一级毛片 | 国产一级www | 国产精彩视频在线 |