导航

    <#CACHE_INCLUDE_NAVBAR#>
« JAVA技術:XML配置文件的讀取處理Java中integer和int的區別 »

java內存查看與分析

2011年3月10日 SUN 0条评论 0个引用

業界有很多強大的java profile的工具,比如Jporfiler,yourkit,這些收費的東西我就不想說了,想說的是,其實java自己就提供了很多內存監控的小工具,下面列舉的工具只是壹小部分,仔細研究下jdk的工具,還是蠻有意思的呢:)
    1:gc日誌輸出
    在jvm啟動參數中加入 -XX:+PrintGC -XX:+PrintGCDetails -XX:+PrintGCTimestamps -XX:+PrintGCApplicationStopedTime,jvm將會按照這些參數順序輸出gc概要信息,詳細信息,gc時間信息,gc造成的應用暫停時間。如果在剛才的參數後面加入參數 -Xloggc:文件路徑,gc信息將會輸出到指定的文件中。其他參數還有
    -verbose:gc和-XX:+PrintTenuringDistribution等。
    2:jconsole
    jconsole是jdk自帶的壹個內存分析工具,它提供了圖形界面。可以查看到被監控的jvm的內存信息,線程信息,類加載信息,MBean信息。
    jconsole位於jdk目錄下的bin目錄,在windows下是jconsole.exe,在unix和linux下是jconsole.sh,jconsole可以監控本地應用,也可以監控遠程應用。 要監控本地應用,執行jconsole pid,pid就是運行的java進程id,如果不帶上pid參數,則執行jconsole命令後,會看到壹個對話框彈出,上面列出了本地的java進程,可以選擇壹個進行監控。如果要遠程監控,則要在遠程服務器的jvm參數裏加入壹些東西,因為jconsole的遠程監控基於jmx的,關於jconsole詳細用法,請見專門介紹jconsle的文章,我也會在博客裏專門詳細介紹jconsole。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

最近发表

Powered By Z-Blog 1.8 Arwen Build 81206