jvisualvm oracle,jvisualvm 中visual gc 的配置
jvisualvm 中默認未配置visual gc,而在實際jvm調優中, 插件更容易觀察gc情況,配置如下:
打開jvisualvm 點擊工具中的插件
在彈出界面中勾選Visual gc, 點擊安裝,在彈出的界面中一路默認即可;
這里可能由于網絡原因下載失敗,點擊重試;
安裝完成點擊完成,重新啟動jvisualvm 就能看到Visual GC
visual gc 是 visualvm 中的圖形化查看 gc 狀況的插件。
具體詳細介紹可參照: http://www.oracle.com/technetwork/java/visualgc-136680.html
本文也是在此基礎上進行的整理歸納。
OUTPUT FORMAT
visual gc 工具分成三大塊the Visual GC window
the Graph window,作者 對 eclipse 監控,這個選項是不可用的,需要調查原因
Visual GC Window
我們看到上方圖片中的 Spaces 就是 Visual GC window 了。它會分成 3 個豎直的部分,分別是 Perm 永生代,? Old 老年代和新生代。
新生代又分成 3 個部分 Eden 區, S0 survivor 區, S1 survivor 區.
每個方框中都使用不同的顏色表示,其中有顏色的區域是占用的空間,空白的部分是指剩余的空間。
當程序正在運行時,該部分區域就會動態顯示,以直觀的形式顯示各個分區的動態情況。
Graph Window
該區域包含多個以時間為橫坐標的狀態面板。
Compile Time
編譯時間表示虛擬機的 JIT 編譯器編譯熱點代碼的耗時。
Java 語言為了實現跨平臺特性, Java 代碼編譯出來后形成的 class 文件中存儲的是 byte code,jvm 通過解釋的方式形成字節碼命令,這種方式與 C/C++ 編譯成二進制的方式 相比要慢不少。
為了解決程序解釋執行的速度問題, jvm 中內置了兩個運行時編譯器,如果一段 Java 代碼被調用達到一定次數,就會判定這段代碼為熱點代碼(hot spot code),并將這段代 碼交給 JIT 編譯器編譯成本地代碼,從而提高運行速度。所以隨著代碼被編譯的越來越徹底,運行速度應當是越來越快。
而 Java 運行器編譯的最大缺點就是它進行編譯時需要消耗程序正常的運行時間,也就是 compile time.
Class Loader Time
表示 class 的 load 和 unload 時間
GC Time
22 collections?表示自監視以來一共經歷了 22 次GC, 包括 Minor GC 和 Full GC
2.030s?表示 gc 共花費了 2.030s
Last Cause: Allocation Failure?表示上次發生 gc 的原因: 內存分配失敗
Eden Space
Eden Space (340.500M,185.000M): 91.012M
表示 Eden Space 最大可分配空間??340.500M
Eden Space 當前分配空間?185.000M
Eden Space 當前占用空間?91.012M
21 collections, 1.012s
表示當前新生代發生 GC 的次數為21 次,共占用時間?1.012s
Survivor 0 and Survivor 1
S0 和 S1 肯定有一個是空閑的,這樣才能方便執行 minor GC 的操作,但是兩者的最大分配空間是相同的。并且在 minor GC 時,會發生 S0 和S1 之間的切換。
Survivor 1 (113.500M, 75.000M) : 36.590M
表示 S1 最大分配空間?113.500M, 當前分配空間75.000M, 已占用空間36.590M
Old Gen
Old Gen (682.500M, 506.500M) : 233.038M, 1 collections, 1.018s(682.500M, 506.500M) : 233.038M
表示 OldGen 最大分配空間682.500M, 當前空間??506.500M, 已占用空間?233.038M
1 collections, 1.018s?表示老年代共發生了1次 GC, 耗費了?1.018s?的時間。
老年代 GC 也叫做 Full GC, 因為在老年代 GC 時總是會伴隨著 Minor GC, 合起來就稱為 Full GC。
Perm Gen
Perm Gen (256.000M, 227.500M) : 122.800M
256.000M?表示最大可用空間,可以使用?-XX:MaxPermSize?指定永久代最大上限
227.500M? 表示當前永久代空間
122.800M?表示永久代當前占用空間
對 HotSpot 虛擬機來說,可以把永久代直接等同于方法區,其中會存儲已經被jvm 加載的類信息,常量,靜態變量,即時編譯器編譯后的代碼等數據。
總結
以上是生活随笔為你收集整理的jvisualvm oracle,jvisualvm 中visual gc 的配置的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [asp]统计在线人数情况
- 下一篇: Ajax 的乱码问题(2)