青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

大龍的博客

常用鏈接

統計

最新評論

使用Jstat監控gc情況

性能測試過程中,我們該如何監控java虛擬機內存的使用情況,用以判斷JVM是否存在內存問題呢?如何判斷JVM垃圾回收是否正常?一般的top指令基本上滿足不了這樣的需求,因為它主要監控的是總體的系統資源,很難定位到java應用程序。
在項目實踐過程中,我們探索和使用了一款新工具--Jstat。
    先秀一下。Jstat是JDK自帶的一個輕量級小工具。全稱“Java Virtual Machine statistics monitoring tool”,它位于java的bin目錄下,主要利用JVM內建的指令對Java應用程序的資源和性能進行實時的命令行的監控,包括了對Heap size和垃圾回收狀況的監控??梢?,Jstat是輕量級的、專門針對JVM的工具,非常適用。
那,該怎么用呢?
    語法結構如下:jstat [Options] vmid [interval] [count]
    Options — 選項,我們一般使用 -gcutil 查看gc情況
    vmid    — VM的進程號,即當前運行的java進程號
    interval– 間隔時間,單位為秒或者毫秒
    count   — 打印次數,如果缺省則打印無數次
    下面給出一個實際的例子:

            

注:由于JVM內存設置較大,圖中百分比變化不太明顯

    圖中參數含義如下:

    S0 — Heap上的 Survivor space 0 區已使用空間的百分比
    S1 — Heap上的 Survivor space 1 區已使用空間的百分比
    E   — Heap上的 Eden space 區已使用空間的百分比
    O   — Heap上的 Old space 區已使用空間的百分比
    P   — Perm space 區已使用空間的百分比
    YGC — 從應用程序啟動到采樣時發生 Young GC 的次數
    YGCT– 從應用程序啟動到采樣時 Young GC 所用的時間(單位秒)
    FGC — 從應用程序啟動到采樣時發生 Full GC 的次數
    FGCT– 從應用程序啟動到采樣時 Full GC 所用的時間(單位秒)
    GCT — 從應用程序啟動到采樣時用于垃圾回收的總時間(單位秒)

    上圖的示例,紅框中,我們可以看到,5次young gc之后,垃圾內存被從Eden space區(E)放入了Old space區(O),并引起了百分比的變化,導致Survivor space使用的百分比從19.69%(S0)降到10.34%(S1)。有效釋放了內存空間。綠框中,我們可以看到,一次full gc之后,Old space區(O)的內存被回收,從36.81%降到35.01%。

    圖中同時打印了young gc和full gc的總次數、總耗時。而,每次young gc消耗的時間,可以用相間隔的兩行YGCT相減得到。每次full gc消耗的時間,可以用相隔的兩行FGCT相減得到。例如紅框中表示的第一行、第二行之間發生了1次young gc,消耗的時間為52.281-52.252=0.029秒。

    常駐內存區(P)的使用率,始終停留在37.6%左右,說明常駐內存沒有突變,比較正常。

如果young gc和full gc能夠正常發生,而且都能有效回收內存,常駐內存區變化不明顯,則說明java內存釋放情況正常,垃圾回收及時,java內存泄露的幾率就會大大降低。但也不能說明一定沒有內存泄露。

    以上,介紹了Jstat按百分比查看gc情況的功能。其實,它還有其它功能,例如加載類信息統計功能、內存池信息統計功能等,那些是以絕對值的形式打印出來的,比較少用,在此就不做介紹。

  

    為了更全面的監控JVM內存使用情況,我們需要引入更強大的工具來進一步分析–JConsole。敬請關注。

--------

一、概述

    SUN 的JDK中的幾個工具,非常好用。秉承著有免費,不用商用的原則。以下簡單介紹一下這幾種工具。(注:本文章下的所有工具都存在JDK5.0以上版本的工具集里,同javac一樣,不須特意安裝) 。
    
    我一共找到以下四個工具:重點看看jconsole和jmap。

Java代碼 復制代碼
  1. jps   
  2. :與unix上的ps類似,用來顯示本地的java進程,可以查看本地運行著幾個java程序,并顯示他們的進程號。   
  3.   
  4. jstat   
  5. :一個極強的監視VM內存工具。可以用來監視VM內存內的各種堆和非堆的大小及其內存使用量。   
  6.   
  7. jmap   
  8. :打印出某個java進程(使用pid)內存內的,所有‘對象’的情況(如:產生那些對象,及其數量)。   
  9.   
  10. jconsole   
  11. :一個java GUI監視工具,可以以圖表化的形式顯示各種數據。并可通過遠程連接監視遠程的服務器VM。  

二、 使用介紹: 
    
    1、jstat :我想很多人都是用過unix系統里的ps命令,這個命令主要是用來顯示當前系統的進程情況,有哪些進程,及其 id。 jps 也是一樣,它的作用是顯示當前系統的java進程情況,及其id號。我們可以通過它來查看我們到底啟動了幾個java進程(因為每一個java程序都會獨占一個java虛擬機實例),和他們的進程號(為下面幾個程序做準備),并可通過opt來查看這些進程的詳細啟動參數。 
    使用方法:在當前命令行下打 jps(需要JAVA_HOME,沒有的話,到改程序的目錄下打) 。

可惜沒有linux下的ps好用,名稱不好用。但是在第四個工具jconsole的界面里面會有具體JAR包的名稱。
    
    2、jstat :對VM內存使用量進行監控。 
    jstat工具特別強大,有眾多的可選項,詳細查看堆內各個部分的使用量,以及加載類的數量。使用時,需加上查看進程的進程id,和所選參數。以下詳細介紹各個參數的意義。 
    jstat -class pid:顯示加載class的數量,及所占空間等信息。 
    jstat -compiler pid:顯示VM實時編譯的數量等信息。 
    jstat -gc pid:可以顯示gc的信息,查看gc的次數,及時間。其中最后五項,分別是young gc的次數,young gc的時間,full gc的次數,full gc的時間,gc的總時間。 
    jstat -gccapacity:可以顯示,VM內存中三代(young,old,perm)對象的使用和占用大小,如:PGCMN顯示的是最小perm的內存使用量,PGCMX顯示的是perm的內存最大使用量,PGC是當前新生成的perm內存占用量,PC是但前perm內存占用量。其他的可以根據這個類推, OC是old內純的占用量。 
    jstat -gcnew pid:new對象的信息。 
    jstat -gcnewcapacity pid:new對象的信息及其占用量。 
    jstat -gcold pid:old對象的信息。 
    jstat -gcoldcapacity pid:old對象的信息及其占用量。 
    jstat -gcpermcapacity pid: perm對象的信息及其占用量。 
    jstat -util pid:統計gc信息統計。 
    jstat -printcompilation pid:當前VM執行的信息。 
    除了以上一個參數外,還可以同時加上 兩個數字,如:jstat -printcompilation 3024 250 6是每250毫秒打印一次,一共打印6次,還可以加上-h3每三行顯示一下標題。
    
   3、jmap 是一個可以輸出所有內存中對象的工具,甚至可以將VM 中的heap,以二進制輸出成文本。使用方法 jmap -histo pid。如果連用 SHELL jmap -histo pid>a.log可以將其保存到文本中去(windows下也可以使用),在一段時間后,使用文本對比工具,可以對比出GC回收了哪些對象。jmap -dump:format=b,file=f1 3024可以將3024進程的內存heap輸出出來到f1文件里。 
    
    4、jconsole 是一個用java寫的GUI程序,用來監控VM,并可監控遠程的VM,非常易用,而且功能非常強。由于是GUI程序,這里就不詳細介紹了,不會的地方可以參考SUN的官方文檔。 
    使用方法:命令行里打 jconsole,選則進程就可以了。 
    
    友好提示:windows查看進程號,由于任務管理器默認的情況下是不顯示進程id號的,所以可以通過如下方法加上。ctrl+alt+del打開任務管理器,選擇‘進程’選項卡,點‘查看’->''選擇列''->加上''PID'',就可以了。當然還有其他很好的選項。

三、參考資料:

    article:http://elf8848.javaeye.com/blog/442806


    jps:http://java.sun.com/j2se/1.5.0/docs/tooldocs/share/jps.html


    jstat:http://java.sun.com/j2se/1.5.0/docs/tooldocs/share/jstat.html


    jmap:http://java.sun.com/j2se/1.5.0/docs/tooldocs/share/jmap.html


    jconsole:http://java.sun.com/j2se/1.5.0/docs/guide/management/jconsole.html    

posted on 2011-10-11 19:37 大龍 閱讀(328) 評論(0)  編輯 收藏 引用

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美成人在线免费观看| 亚洲一区二区精品在线观看| 久久久精品国产免大香伊| 亚洲一级黄色| 国产综合久久久久久鬼色| 久热国产精品视频| 欧美高清在线观看| 亚洲综合另类| 久久精品视频亚洲| 亚洲日本成人| 亚洲小说区图片区| 国语精品中文字幕| 亚洲人成在线影院| 国产精品一二| 欧美大香线蕉线伊人久久国产精品| 你懂的网址国产 欧美| 亚洲视频一区在线| 久久久久se| 亚洲一区视频在线| 久久久综合视频| 亚洲免费视频成人| 蜜臀av性久久久久蜜臀aⅴ| 亚洲私人影院| 蜜桃精品一区二区三区 | 久久性天堂网| 亚洲午夜一区| 米奇777在线欧美播放| 亚洲欧美日韩国产综合| 久久综合色一综合色88| 欧美中文字幕不卡| 欧美日韩国产色站一区二区三区| 久久久www免费人成黑人精品| 欧美精品一区视频| 美国十次了思思久久精品导航| 午夜精品视频网站| 亚洲女同性videos| 日韩视频一区二区三区在线播放| 亚洲在线观看免费| 99精品欧美一区二区三区| 久久精品国产久精国产思思| 亚洲影视在线播放| 欧美精品日韩精品| 欧美激情亚洲自拍| 国产综合精品一区| 午夜精品久久久久久| 在线中文字幕一区| 欧美精品综合| 亚洲精品久久久久久久久久久| 在线欧美福利| 久久人人爽爽爽人久久久| 欧美一区=区| 欧美性久久久| 一本一本a久久| 亚洲一区免费| 国产精品欧美日韩| 亚洲视频一区二区| 亚洲欧美在线磁力| 国产精品乱人伦中文| 一区二区三区欧美日韩| 亚洲调教视频在线观看| 欧美日韩人人澡狠狠躁视频| 亚洲国产日韩欧美在线图片| 亚洲精品乱码| 欧美日韩亚洲精品内裤| 日韩视频中文字幕| 亚洲欧美日韩另类| 国产日韩欧美日韩大片| 欧美中文在线免费| 欧美成人激情视频免费观看| 1024国产精品| 欧美国产日韩亚洲一区| 亚洲人午夜精品免费| 亚洲视频一区二区| 国产精品一区二区久久久| 欧美亚洲在线| 欧美激情精品| 亚洲小说春色综合另类电影| 国产精品国产三级国产普通话蜜臀| 一区二区久久久久久| 欧美一区日韩一区| 极品中文字幕一区| 欧美片在线观看| 亚洲一区二区三区在线观看视频| 久久激情五月激情| 亚洲国产经典视频| 欧美性大战久久久久| 欧美一区二区在线免费观看| 欧美国产综合| 亚洲自拍三区| 亚洲高清久久| 国产精品呻吟| 另类亚洲自拍| 亚洲视频1区2区| 嫩草国产精品入口| 亚洲一区二区免费看| 国语自产偷拍精品视频偷 | 久久资源在线| 在线视频亚洲一区| 毛片精品免费在线观看| 中文一区二区| 一区二区在线观看视频| 欧美日韩一区二区三区在线视频| 午夜一区不卡| 亚洲国产欧洲综合997久久| 久久久午夜精品| 日韩一级黄色片| 美国成人毛片| 欧美在线观看视频一区二区| 亚洲欧洲一二三| 国产午夜一区二区三区| 欧美日韩中文字幕在线| 久久另类ts人妖一区二区| 亚洲无限av看| 亚洲精品一区二区在线观看| 美日韩精品视频免费看| 欧美综合国产| 亚洲影视在线| 一区二区三区高清在线观看| 亚洲国产精品尤物yw在线观看 | 欧美日韩免费观看一区=区三区 | 亚洲视频久久| 亚洲精品视频免费| 欧美激情一区二区三区高清视频 | 裸体歌舞表演一区二区| 欧美伊人影院| 午夜精品久久久久久久久久久久久 | 久久亚洲综合| 久久精品国产精品亚洲综合| 亚洲欧美国产日韩中文字幕| 99av国产精品欲麻豆| 亚洲日本成人女熟在线观看| 欧美黄色免费| 欧美激情影院| 亚洲国产精品一区二区久 | 亚洲图片欧美一区| 99riav久久精品riav| 亚洲日本中文字幕免费在线不卡| 狠狠色综合网| **性色生活片久久毛片| 一区二区三区自拍| 激情久久综合| 亚洲国产精品美女| 亚洲精品久久久久久久久久久久久| …久久精品99久久香蕉国产| 亚洲国产精品悠悠久久琪琪| 亚洲精品欧美日韩| 亚洲视频在线观看| 亚洲综合精品| 久久国产综合精品| 蜜臀99久久精品久久久久久软件| 久久综合久久综合久久| 嫩草影视亚洲| 日韩图片一区| 亚洲欧美视频一区二区三区| 午夜视频在线观看一区二区三区| 欧美一区二区国产| 毛片基地黄久久久久久天堂| 欧美国产三区| 国产精品日韩欧美| 激情一区二区| 一本色道久久综合亚洲精品不卡| 亚洲午夜影视影院在线观看| 欧美伊人影院| 亚洲国产成人av在线| 亚洲桃色在线一区| 久久久久久电影| 欧美日韩精品综合在线| 国产日韩欧美不卡| 亚洲激情在线观看| 亚洲综合视频网| 免费欧美在线视频| 一区二区三区精密机械公司| 一本色道久久综合亚洲精品高清| 日韩视频精品在线| 亚洲欧美综合国产精品一区| 久久久久久亚洲精品杨幂换脸 | 亚洲网站视频福利| 噜噜噜91成人网| 国产精品日韩一区二区三区| 激情久久久久久| 亚洲一区二区综合| 免费一区二区三区| 亚洲一区二区三区精品在线观看 | 日韩视频三区| 久久久久国内| 国产精品一区一区| 日韩亚洲欧美中文三级| 久久国产毛片| 亚洲特色特黄| 欧美精品一区视频| 亚洲高清资源| 久久免费视频一区| 亚洲一区精品电影| 欧美日本在线一区| 亚洲娇小video精品| 久久精品视频在线| 亚洲一区在线视频| 欧美亚州韩日在线看免费版国语版| 亚洲国产成人不卡| 久久婷婷国产麻豆91天堂|