基于JVM-jinfo的使用方式
jinfo是什么,可以干什么?
jinfo全稱Configuration Info for Java作用是實時查看和調(diào)整虛擬機各項參數(shù)。
使用jps命令的-v參數(shù)可以查看虛擬機啟動時顯式指定的參數(shù)列表。
注意先 jps -l 查出進程id
相關(guān)命令查詢
查看所有參數(shù)
jinfo 20220

查詢CMS的配置
jinfo -flag CMSInitiatingOccupancyFraction 20220

查看jvm的參數(shù)
jinfo -flags 20220

查看java系統(tǒng)參數(shù)
jinfo -sysprops 20220

查看是否打開GC及詳情
jinfo -flag PrintGC 20220

jinfo -flag PrintGCDetails 20220

打開gc打印
jinfo -flag +PrintGC 20220

再次查看

最后
jinfo在排查jvm問題和日常查看jvm配置的時候常用,所以用好該命令可以有助日后對jvm排查的掌握。
并且jinfo可以動態(tài)的來配置jvm的參數(shù),這樣極大方便虛擬機的實時調(diào)試,不需要再重新啟動的時候配置,并且也可以快速進行驗證,非常方便實用。
JVM Troubleshooting命令-jinfo
概述
用來查看正在運行的Java應(yīng)用程序的擴展參數(shù),支持在運行時,修改部分參數(shù)。
命令格式
jinfo [ option ] pid
jinfo [ option ] executable core
jinfo [ option ] [ servier-id ] remote-hostname-or-IP
option: 命令行功能選項pid: 進程idexecutable: 生成可執(zhí)行的core dump文件core: 要打印配置信息的核心文件remote-hostname-or-IP: 遠程調(diào)試服務(wù)器主機名或IP地址servier-id: 在同一個遠程主機上運行多個調(diào)試服務(wù)器時使用的可選唯一ID
查看最大內(nèi)存: jinfo -flag MaxHeapSize pid
查看垃圾回收器 : jinfo -flag UseParallelGC pid
功能選項
無參數(shù): 以key=value的方式輸出全部的參數(shù)和系統(tǒng)屬性-flag參數(shù)名 : 輸出指定的參數(shù)的值
如jinfo -flag PrintGC 8520顯示PrintGC參數(shù)狀態(tài)

-flag [+|-]參數(shù)名 : 啟用或禁用指定參數(shù)的功能(參數(shù)必須是布爾型的)
如jinfo -flag -PrintGC 8520關(guān)閉PrintGC功能
如jinfo -flag +PrintGC 8520打開PrintGC功能

-flag name=value: 設(shè)置參數(shù)name值為value-flags: 輸出傳遞給JVM的參數(shù)

-sysprops: 以key-value的方式打印java系統(tǒng)屬性

-h: 打印幫助信息-help: 打印幫助信息
不是所有參數(shù)都可以修改的, 哪些參數(shù)可以修改的,可以使用下面命令查詢:
java -XX:+PrintFlagsFinal -version | grep manageable
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
基于Mybatis實現(xiàn)動態(tài)數(shù)據(jù)源切換的示例代碼
在當(dāng)今的互聯(lián)網(wǎng)應(yīng)用中,微服務(wù)大行其道,隨著業(yè)務(wù)的發(fā)展和擴展,單一的數(shù)據(jù)庫無法滿足日益增長的數(shù)據(jù)需求,本文將基于 JDK17 + Spring Boot 3 和 MyBatis 框架實現(xiàn)動態(tài)切換數(shù)據(jù)源功能,需要的朋友可以參考下2024-09-09
解決SpringAop內(nèi)部調(diào)用時不經(jīng)過代理類的問題
這篇文章主要介紹了解決SpringAop內(nèi)部調(diào)用時不經(jīng)過代理類的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-01-01
idea配置連接數(shù)據(jù)庫的超詳細(xì)步驟
這篇文章主要介紹了idea配置連接數(shù)據(jù)庫的超詳細(xì)步驟,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-12-12
基于Spring Boot應(yīng)用ApplicationEvent案例場景
這篇文章主要介紹了基于Spring Boot應(yīng)用ApplicationEvent,利用Spring的機制發(fā)布ApplicationEvent和監(jiān)聽ApplicationEvent,需要的朋友可以參考下2023-03-03
Java String字符串和Unicode字符相互轉(zhuǎn)換代碼
這篇文章主要介紹了Java String字符串和Unicode字符相互轉(zhuǎn)換代碼,需要的朋友可以參考下2014-10-10
MyBatis插入Insert、InsertSelective的區(qū)別及使用心得
這篇文章主要介紹了MyBatis插入Insert、InsertSelective的區(qū)別及使用心得,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-12-12
Java結(jié)構(gòu)型設(shè)計模式之組合模式Composite Pattern詳解
組合模式,又叫部分整體模式,它創(chuàng)建了對象組的數(shù)據(jù)結(jié)構(gòu)組合模式使得用戶對單個對象和組合對象的訪問具有一致性。本文將通過示例為大家詳細(xì)介紹一下組合模式,需要的可以參考一下2022-11-11
BeanPostProcessor在顯示調(diào)用初始化方法前修改bean詳解
這篇文章主要介紹了BeanPostProcessor在顯示調(diào)用初始化方法前修改bean詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-12-12

