Linux 使用jstat命令查看jvm的GC情況
專注于為中小企業(yè)提供成都做網(wǎng)站、網(wǎng)站建設服務,電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業(yè)北安免費做網(wǎng)站提供優(yōu)質的服務。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了成百上千家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設實現(xiàn)規(guī)模擴充和轉變。
命令格式
jstat命令命令格式:
jstat [Options] vmid[interval] [count]
參數(shù)說明:
Options,選項,我們一般使用 -gcutil 查看gc情況
vmid
,VM的進程號,即當前運行的java進程號
interval
,間隔時間,單位為秒或者毫秒
count
,打印次數(shù),如果缺省則打印無數(shù)次
示例說明
示例
通常運行命令如下:
jstat -gc 12538 5000
即會每5秒一次顯示進程號為12538的java進成的GC情況,
顯示內容如下圖:
結果說明
S0C:年輕代中第一個survivor(幸存區(qū))的容量 (字節(jié))
S1C
:年輕代中第二個survivor(幸存區(qū))的容量 (字節(jié))
S0U
:年輕代中第一個survivor(幸存區(qū))目前已使用空間 (字節(jié))
S1U
:年輕代中第二個survivor(幸存區(qū))目前已使用空間 (字節(jié))
EC
:年輕代中Eden(伊甸園)的容量 (字節(jié))
EU
:年輕代中Eden(伊甸園)目前已使用空間 (字節(jié))
OC
:Old代的容量 (字節(jié))
OU
:Old代目前已使用空間 (字節(jié))
PC
:Perm(持久代)的容量 (字節(jié))
PU
:Perm(持久代)目前已使用空間 (字節(jié))
YGC
:從應用程序啟動到采樣時年輕代中gc次數(shù)
YGCT
:從應用程序啟動到采樣時年輕代中gc所用時間(s)
FGC
:從應用程序啟動到采樣時old代(全gc)gc次數(shù)
FGCT
:從應用程序啟動到采樣時old代(全gc)gc所用時間(s)
GCT
:從應用程序啟動到采樣時gc用的總時間(s)
NGCMN
:年輕代(young)中初始化(最小)的大小 (字節(jié))
NGCMX
:年輕代(young)的最大容量 (字節(jié))
NGC
:年輕代(young)中當前的容量 (字節(jié))
OGCMN
:old代中初始化(最小)的大小 (字節(jié))
OGCMX
:old代的最大容量 (字節(jié))
OGC
:old代當前新生成的容量 (字節(jié))
PGCMN
:perm代中初始化(最小)的大小 (字節(jié))
PGCMX
:perm代的最大容量 (字節(jié))
PGC
:perm代當前新生成的容量 (字節(jié))
S0
:年輕代中第一個survivor(幸存區(qū))已使用的占當前容量百分比
S1
:年輕代中第二個survivor(幸存區(qū))已使用的占當前容量百分比
E
:年輕代中Eden(伊甸園)已使用的占當前容量百分比
O
:old代已使用的占當前容量百分比
P
:perm代已使用的占當前容量百分比
S0CMX
:年輕代中第一個survivor(幸存區(qū))的最大容量 (字節(jié))
S1CMX
:年輕代中第二個survivor(幸存區(qū))的最大容量 (字節(jié))
ECMX
:年輕代中Eden(伊甸園)的最大容量 (字節(jié))
DSS
:當前需要survivor(幸存區(qū))的容量 (字節(jié))(Eden區(qū)已滿)
TT
: 持有次數(shù)限制
MTT
: 最大持有次數(shù)限制
一、堆內存相關配置
設置堆初始值
指令1:-Xms2g
指令2:-XX:InitialHeapSize=2048m
設置堆區(qū)最大值
指令1:`-Xmx2g`
指令2: -XX:MaxHeapSize=2048m
縮小堆內存的時機
-XX:MaxHeapFreeRatio=70//堆內存使用率大于70時擴張堆內存,xms=xmx時該參數(shù)無效,默認值70
擴張堆內存的時機
-XX:MinHeapFreeRatio=40//堆內存使用率小于40時縮減堆內存,xms=xmx時該參數(shù)無效,默認值40
新生代內存配置
指令1:-Xmn512m
指令2:-XX:MaxNewSize=512m
2個survivor區(qū)和Eden區(qū)大小比率
指令:-XX:SurvivorRatio=6 //S區(qū)和Eden區(qū)占新生代比率為1:6,兩個S區(qū)2:6
新生代和老年代的占比
-XX:NewRatio=4 //表示新生代:老年代 = 1:4 即老年代占整個堆的4/5;默認值=2
二、方法區(qū)內存配置常用參數(shù)
初始化的Metaspace大小,
-XX:MetaspaceSize :
Metaspace最大值
-XX:MaxMetaspaceSize
三、線程棧內存配置常用參數(shù)
每個線程棧最大值
指令1:-Xss256k
指令2:-XX:ThreadStackSize=256k
注意:
棧設置太大,會導致線程創(chuàng)建減少。
棧設置小,會導致深入不夠,深度的遞歸會導致棧溢出。
建議棧深度設置在3000-5000
四、配置垃圾收集器
Serial垃圾收集器(新生代)
開啟:-XX:+UseSerialGC
關閉:-XX:-UseSerialGC
//新生代使用Serial 老年代則使用SerialOld
ParNew垃圾收集器(新生代)
開啟 -XX:+UseParNewGC
關閉 -XX:-UseParNewGC
//新生代使用功能ParNew 老年代則使用功能CMS
Parallel Scavenge收集器(新生代)
開啟 -XX:+UseParallelOldGC
關閉 -XX:-UseParallelOldGC
//新生代使用功能Parallel Scavenge 老年代將會使用Parallel Old收集器
ParallelOl垃圾收集器(老年代)
開啟 -XX:+UseParallelGC
關閉 -XX:-UseParallelGC
//新生代使用功能Parallel Scavenge 老年代將會使用Parallel Old收集器
CMS垃圾收集器(老年代)
開啟 -XX:+UseConcMarkSweepGC
關閉 -XX:-UseConcMarkSweepGC
G1垃圾收集器
開啟 -XX:+UseG1GC
關閉 -XX:-UseG1GC
五、GC策略配置
GC并行執(zhí)行線程數(shù)
-XX:ParallelGCThreads=16
新生代可容納的最大對象
-XX:PretenureSizeThreshold=1000000 //大于此值的對象直接會分配到老年代,設置為0則沒有限制。 //避免在Eden區(qū)和Survivor區(qū)發(fā)生大量的內存復制,該參數(shù)只對Serial和ParNew收集器有效,Parallel Scavenge并不認識該參數(shù)
進入老年代的GC年齡
進入老年代最小的GC年齡
-XX:InitialTenuringThreshol=7 //年輕代對象轉換為老年代對象最小年齡值,默認值7,對象在堅持過一次Minor GC之后,年齡就加1,每個對象在堅持過一次Minor GC之后,年齡就增加1
進入老年代最大的GC年齡
-XX:MaxTenuringThreshold=15 //年輕代對象轉換為老年代對象最大年齡值,默認值15
六、GC日志信息配置
配置GC文件路徑
-Xloggc:/data/gclog/gc.log//固定路徑名稱生成 -Xloggc:/home/GCEASY/gc-%t.log //根據(jù)時間生成
滾動生成日志
日志文件達到一定大小后,生成另一個文件。須配置Xloggc
開啟 -XX:+UseGCLogFileRotation
關閉 -XX:-UseGCLogFileRotation
-XX:NumberOfGCLogFiles=4 //滾動GC日志文件數(shù),默認0,不滾動 -XX:GCLogFileSize=100k //GC文件滾動大小,需配置UseGCLogFileRotation,設置為0表示僅通過jcmd命令觸發(fā)
jmap命令可以獲得運行中的jvm的堆的快照,從而可以離線分析堆,以檢查內存泄漏,檢查一些嚴重影響性能的大對象的創(chuàng)建,檢查系統(tǒng)中什么對象最多,各種對象所占內存的大小。
命令格式:
jmap?[options]?pid
-dump:[live,]format=b,file=filename??
--dump堆到文件,live指明是活著的對象,file指定文件名
因為在dump:live前會進行full gc,因此不加live的堆大小要大于加live堆的大小
-finalizerinfo??打印等待回收對象的信息
-heap??打印堆總結
-histo[:live]??打印堆的對象統(tǒng)計,包括對象數(shù)、內存大小等等
-permstat??打印java堆perm區(qū)的classloader統(tǒng)計
-F??強制,在jmap?-dump或jmap?-histo中使用,如果pid沒有相應的回復?
-J??提供jvm選項,如:-J-Xms256m
網(wǎng)頁標題:linux釋放jvm命令 linux調整jvm參數(shù)
本文地址:http://chinadenli.net/article48/doddhhp.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供營銷型網(wǎng)站建設、軟件開發(fā)、網(wǎng)站排名、網(wǎng)站改版、微信公眾號、品牌網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)