JVM的监控工具之jinfo
參考博客:https://www.jianshu.com/p/8d8aef212b25
jinfo(ConfigurationInfoforJava)的作用是實時地查看和調整虛擬機各項參數,使用jps命令的-v參數可以查看虛擬機啟動時顯式指定的參數列表。
但如果想知道未被顯式指定的參數的系統默認值,除了去找資料外,就只能使用jinfo的-flag選項進行查詢。
- no option 輸出全部的參數和系統屬性
- -flag name 輸出對應名稱的參數
- -flag [+|-]name 開啟或者關閉對應名稱的參數
我們可以通過jinfo實時的修改虛擬機的參數,但是不是任何命令都可以修改,可以修改的參數我們先來執行這個命令:java -XX:+PrintFlagsFinal -version,會列出當前機器支持的所有參數,那么用jinfo可以修改的參數是什么呢?
只有最后一列顯示manageable的這一列才能進行修改。
仔細查看發現可修改的參數其實并不多,jvm的運行內存一旦在運行時確定下來,那么就無法修改。但是無法一些錯誤信息沒有記錄,或者是處于關閉狀態,還是可以修改的
?
例如我們來查詢idea的進程是否開啟了GC日志信息的詳細打印,我們可以執行這樣的命令:jinfo -flag PrintGCDetails 17312,從結果中我們可以看出是沒有開啟打印GC詳細信息的。
jinfo還可以使用-sysprops選項把虛擬機進程的System.getProperties()的內容打印出來,可以執行命令:jinfo -sysprops 17312。
?
jinfo -flags:會打印當前該線程所有相關的參數,例如我們要來打印idea這個進程的所有相關參數,我們來執行命令:jinfo -flags 40416會列出JVM的版本,顯示當前idea他的非缺省值的東西(也就是你修改過的),還有Command Line 代表的是命令行形式傳遞給idea這個進程的一些參數
?
?查看最大堆內存 jinfo -flag MaxHeapSize 17312?
?
查看所使用的垃圾收集器
jinfo -flag UseConcMarkSweepGC 17312
jinfo -flag UseG1GC 17312
jinfo -flag UseParallelGC 17312
?
可以看出所使用的垃圾回收器是 ParallelGC
?
轉載于:https://www.cnblogs.com/cheng21553516/p/11223601.html
總結
以上是生活随笔為你收集整理的JVM的监控工具之jinfo的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ERP系统开发平台 (C#语言,支持多数
- 下一篇: ajaxpro框架