日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

jvm jstat_使用jstat的JVM统计信息

發布時間:2023/12/3 编程问答 50 豆豆
生活随笔 收集整理的這篇文章主要介紹了 jvm jstat_使用jstat的JVM统计信息 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

jvm jstat

過去,我已經寫過關于Oracle和/或OpenJDK Java開發工具包(JDK)附帶的幾個命令行工具的信息,但是我從來沒有專門寫過jstat工具 。 Oracle JDK 9文檔Early Access指出jstat用于“監視Java虛擬機(JVM)統計信息”。 還有一個警告,“此命令是實驗性的,不受支持?!?盡管我引用了JDK 9文檔,但jstat是以Java SE 8 , Java SE 7 , Java SE 6和J2SE 5中的某種形式( 一次稱為jvmstat )成為Sun / Oracle JDK的一部分。 Java 1.4.1引入了HotSpot JVM的工具(僅在設置了-XX:+UsePerfData時啟用),并且自Java 1.4.2開始提供了“始終在線”工具。

jstat提供的許多信息可以從可視工具(例如VisualVM ,JMX和平臺MBean),垃圾收集日志或通過JVM選項中收集。 但是,與每個替代方案相比, jstat具有優勢。 它的優點包括命令行工具所共有的優點,例如可以從腳本執行并運行而無需開發人員或其他人員。 能夠將jstat應用于已經運行的Java進程以開始監視其JVM統計信息,而不是在啟動JVM時指定對那些選項的監視,這也很有用。

對于本文中的示例,我正在使用Oracle JDK 9 build 164 。 下一個屏幕快照顯示了該版本,還顯示了開始使用jstat時要應用的第一個標志之一: -options標志。

如屏幕快照所示,以及jstat文檔中所述 , jstat -options用于“顯示特定平臺安裝的選項列表”。 在此處顯示的示例中,以下選項可用:

  • -class
  • -compiler
  • -gc
  • -gccapacity
  • -gccause
  • -gcmetacapacity
  • -gcnew
  • -gcnewcapacity
  • -gcold
  • -gcoldcapacity
  • -gcutil
  • -printcompilation

在本文中,我將只討論這些可用選項的一小部分,但是jstat文檔提供了一個句子來描述每個jstat選項,并且每個選項的命令行用法與所有其他選項非常相似。 實際上,一旦學習了有關jstat使用的一些小知識,各種選項的執行就變得容易了。 使用jstat的困難部分通常是解釋jstat提供的數據。

jstat -help選項將打印簡單用法,如下一個屏幕快照所示。

從jstat用法消息中,我們了解到jstat命令行工具是通過首先運行命令名稱( jstat )和下一個帶連字符的選項名稱,然后是可選的-t和/或-h標志,然后運行該命令來執行的vimid ,并包含一個可選的時間間隔和在提供的時間間隔上執行命令的可選次數。 示例比描述性文字清晰,這篇文章和jstat文檔中給出了一些示例。

為了監視“本地” JVM統計信息, vmid只是JVM進程的進程ID。 這與髖關節jcmd (或stodgy jps )為Java進程返回的PID相同。 下一個屏幕快照演示了使用jcmd的Java應用程序,我在我的例子(監測(在這種情況下,8728)來識別PID JEDIT在這種情況下)。

jstat文檔的“虛擬機標識符”部分提供了有關vmid的更多詳細信息,因為更復雜的vmid (用于JVM統計信息的遠程監視)可以包括協議,本地目標計算機的vmid ,主機和端口。 盡管本文中的所有示例都將使用jstat和簡單的Java PID( vmid ),但jstat文檔的確提供了使用更詳細的vmid進行JVM統計信息遠程監視的示例。

對于本文中的其余示例,我想要一個Java應用程序,從JVM統計信息監視的角度來看,它比JEdit更有趣。 我決定在強烈推薦的Plumbr博客上使用Nikita Salnikov-Tarnovski的帖子“ Garbage Collection:提高吞吐量 ”中的“ PigInThePython ”示例應用程序。 如果您有興趣查看PigInThePython的源代碼,請參閱該文章 。

對于使用jstat第一個示例,我使用其最常用的選項之一: -gcutil 。 除了演示-gcutil選項之外,我還將使用第一個示例來演示和解釋除gcutil之外通常適用于其他jstat選項的jstat輸出選項。

以下屏幕快照演示了如何使用jcmd來獲取PigInThePython應用程序的PID(在本例中為5096)以及如何以最簡單的形式運行jstat -gcutil 。

jstat -gcutil以最簡單的形式(沒有其他選項)顯示沒有時間戳的單行輸出。 列標題中描述jstat文檔節“-gcutil選項”,其也描述了-gcutil選項如,“垃圾收集統計摘要”。 例如,本文檔說明,其中一些列指示不同空間分配的使用百分比,而其他列指示垃圾收集事件的數量和垃圾收集的總時間。

我們通常希望將jstat提供的統計信息與受監視系統中其他事件發生的時間相關聯,以識別這些事件與對JVM的影響之間的相關性。 jstat -t選項將在輸出的開頭加上時間戳。 此時間戳是自受監視的JVM啟動以來的秒數。 盡管這對人類來說不像其他格式那樣方便閱讀,但確實可以將JVM統計信息與JVM運行所在的時間范圍以及包含時間戳的垃圾收集日志相關聯。 下一個屏幕快照演示了-t的作用:

監視JVM統計信息(例如由jstat -gcutil提交的統計信息)不止一次通常非常有用。 下一個屏幕快照演示了如何使用指定的間隔( 100ms指定的100毫秒間隔,以每100毫秒捕獲并顯示這些結果。

第一次顯示快照后,最后一個屏幕快照中的輸出永遠不會重復帶有列首字母縮寫的標題。 如果希望在一定數量的行之后重復該標頭,以便更輕松地知道哪些數字屬于輸出中更遠的哪一列,則-h選項可用于指定列之后的結果數標頭再次顯示。 在下一個屏幕快照中, -h20用于每20行查看一次標題。

有時可能希望讓jstat如此頻繁地且僅在一定次數內提供其數據。 間隔允許您指定結果之間的持續時間,間隔之后的任何整數都將限制顯示結果的總次數。 在接下來的屏幕快照,所述15處命令的末尾限制輸出至15點總的行。

jstat -gccause選項返回與-gcutil相同的信息,但還會添加有關導致受監視垃圾收集的原因的信息。 以下屏幕快照對此進行了演示。

在上面的屏幕快照中,我們看到“上次垃圾收集的原因”(LGCC)是“ G1大量分配”,而“當前垃圾收集的原因”(GCC)是“無GC”(當前沒有垃圾收集)進行)。

下一個屏幕快照演示了如何使用jstat -class查看“類加載器統計信息”,以了解已加載的類數(“ Loaded”),已加載的千字節數(第一個“ Bytes”),已卸載的類數(“ Unloaded”)以及數量卸載的字節數(第二個“字節”),以及“執行類加載和卸載操作所花費的時間”(“時間”)。

命令jstat -printcompilation指示“ Java HotSpot VM編譯器方法統計信息”,并在下一個屏幕快照中演示。

-printcompilation選項顯示列“已編譯”(“最近編譯的方法執行的編譯任務數”),“大小”(“最近編譯的方法的字節碼的字節數”),“類型”(“最近編譯的方法的編譯類型”和“方法”(最近編譯的方法的類/方法的名稱,以與HotSpot VM選項-XX:+PrintCompilation一致的格式表示)。

使用jstat -compiler命令,我們可以查看“ Java HotSpot VM即時編譯器統計信息”,例如執行的編譯任務數(“ Compiled”),失敗的編譯任務數(“ Failed”),無效的編譯任務數(“無效”),編譯所花費的時間(“時間”),上次失敗的編譯的類型和類/方法名稱(“ FailedType”和“ FailedMethod”)。 下一個屏幕快照對此進行了演示。

jstat還有更多可用的選項,其中大多數選項特定于受監視JVM中有關垃圾回收的不同觀點。

jstat文檔警告該工具是試驗性的,在JDK的未來版本中可能會更改或刪除。 該文檔還警告不要編寫腳本和工具來解析jstat的輸出,因為將來輸出的內容或格式可能會更改。 但是,我可以看到有人可能會冒這個險并編寫解析代碼,因為可以從腳本輕松訪問此命令行工具,并且所需的解析代碼不會很復雜。

這篇文章是jstat ,但是要了解更多有關該工具的知識。 與使用該工具相比,對該工具結果的解釋要復雜得多,并且jstat提供的數據分析可能比收集數字的工作更具挑戰性。 下面列出了一些其他資源,以提供有關使用jstat工具收集和分析Java虛擬機統計信息的更多信息。

其他jstat資源

  • Java Platform 9,標準版工具參考指南 : jstat
  • Java Platform 8,Standard Edition故障排除指南 : jstat實用程序
  • Plumbr:jstat
  • 使用jstat監視Java垃圾收集
  • 解釋jstat的Full GC事件數
  • 解釋jstat(堆內存)以懷疑Java內存泄漏
  • 解釋jstat結果
  • jstat工具:-gc選項提供的新元空間統計信息
  • 學習java jstat
  • 'jstat -gcutil'–垃圾回收統計
  • 'jstat'命令選項和參數
  • 使用Jstat在Java中進行GC監視
  • 在Java中監視垃圾收集
  • 使用jstat報告自定義JVM指標集

翻譯自: https://www.javacodegeeks.com/2017/05/jvm-statistics-jstat.html

jvm jstat

總結

以上是生活随笔為你收集整理的jvm jstat_使用jstat的JVM统计信息的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。