<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
jinfo(Java Virtual Machine Configuration Information)是JDK提供的一個可以實時檢視Java虛擬機器器各種設定引數和系統屬性的命令列工具。使用jps命令的-v引數可以檢視Java虛擬機器器啟動時顯式指定的設定引數,如果想檢視沒有顯式指定的設定引數就可以使用jinfo命令進行檢視。另外,jinfo命令還可以查詢Java虛擬機器器程序的System.getProperties()
的內容。
在沒有dbgeng.dll
的Windows系統中,必須安裝用於Windows的偵錯工具才能使jinfo命令正常工作,PATH環境變數應該包含jvm.dll的位置。
命令語法:
jinfo [option] pid
命令引數說明:
option
:jinfo命令的可選引數。如果沒有指定這個引數,jinfo命令會顯示所有的設定引數和系統屬性。pid
:要列印設定資訊的Java虛擬機器器的程序ID。想要要獲取執行的Java虛擬機器器程序的列表,可以使用ps命令(Linux系統中)或tasklist命令(Windows系統中),如果Java虛擬機器器程序沒有在單獨的docker範例中執行,可以使用jps命令。
option
都有哪些引數呢?我們來看一下。
顯示指定名稱對應的設定引數,比如,檢視了簡單GC紀錄檔模式(PrintGC)是否開啟:
# jinfo -flag PrintGC 15729 -XX:-PrintGC
啟用或禁用指定名稱的引數,該引數必須為Boolean
型別。比如,開啟簡單GC紀錄檔模式:
# jinfo -flag +PrintGC 15729 # jinfo -flag PrintGC 15729 -XX:+PrintGC
比如,禁用簡單GC紀錄檔模式:
# jinfo -flag -PrintGC 15729 # jinfo -flag PrintGC 15729 -XX:-PrintGC
不需要重啟Java虛擬機器器,修改指定名稱的引數為指定的值。比如,修改空閒堆空間的最小百分比(MinHeapFreeRatio)為30%:
# jinfo -flag MinHeapFreeRatio 15729 -XX:MinHeapFreeRatio=40 # jinfo -flag MinHeapFreeRatio=30 15729 # jinfo -flag MinHeapFreeRatio 15729 -XX:MinHeapFreeRatio=30
當然不是所有引數都可以這樣修改的,比如並行垃圾收集器將使用的執行緒數(ConcGCThreads):
# jinfo -flag ConcGCThreads=5 15729 Exception in thread "main" com.sun.tools.attach.AttachOperationFailedException: flag 'ConcGCThreads' cannot be changed at sun.tools.attach.LinuxVirtualMachine.execute(LinuxVirtualMachine.java:229) at sun.tools.attach.HotSpotVirtualMachine.executeCommand(HotSpotVirtualMachine.java:261) at sun.tools.attach.HotSpotVirtualMachine.setFlag(HotSpotVirtualMachine.java:234) at sun.tools.jinfo.JInfo.flag(JInfo.java:134) at sun.tools.jinfo.JInfo.main(JInfo.java:81)
那麼,有哪些設定引數是支援動態修改的呢?我們可以通過java -XX:+PrintFlagsInitial
命令找到標記為manageable
的設定引數,執行結果如下圖所示:
顯示全部的設定引數,比如:
# jinfo -flags 15729 Attaching to process ID 15729, please wait... Debugger attached successfully. Server compiler detected. JVM version is 25.251-b08 Non-default VM flags: -XX:CICompilerCount=4 -XX:ConcGCThreads=2 -XX:G1HeapRegionSize=1048576 -XX:InitialHeapSize=1073741824 -XX:MarkStackSize=4194304 -XX:MaxHeapSize=1073741824 -XX:MaxNewSize=536870912 -XX:MetaspaceSize=268435456 -XX:MinHeapDeltaBytes=1048576 -XX:MinHeapFreeRatio=30 -XX:NewSize=536870912 -XX:-PrintGC -XX:SurvivorRatio=4 -XX:+UseCompressedClassPointers -XX:+UseCompressedOops -XX:+UseFastUnorderedTimeStamps -XX:+UseG1GC Command line: -Xmx1g -Xms1g -Xmn512m -XX:SurvivorRatio=4 -XX:MetaspaceSize=256m -XX:+UseG1GC
以鍵值對的方式顯示當前Java虛擬機器器的全部的系統屬性,比如:
# jinfo -sysprops 15729 Attaching to process ID 15729, please wait... Debugger attached successfully. Server compiler detected. JVM version is 25.251-b08 java.runtime.name = Java(TM) SE Runtime Environment java.vm.version = 25.251-b08 sun.boot.library.path = /usr/local/java/jdk1.8.0_251/jre/lib/amd64 java.protocol.handler.pkgs = org.springframework.boot.loader java.vendor.url = http://java.oracle.com/ java.vm.vendor = Oracle Corporation path.separator = : file.encoding.pkg = sun.io java.vm.name = Java HotSpot(TM) 64-Bit Server VM sun.os.patch.level = unknown sun.java.launcher = SUN_STANDARD user.country = CN java.vm.specification.name = Java Virtual Machine Specification PID = 15729 java.runtime.version = 1.8.0_251-b08 java.awt.graphicsenv = sun.awt.X11GraphicsEnvironment os.arch = amd64 java.endorsed.dirs = /usr/local/java/jdk1.8.0_251/jre/lib/endorsed line.separator = ......
顯示jinfo命令的幫助資訊。
雖然jinfo命令已經推出很久並且使用頻率比較搞,但它仍然是一個“實驗性質的,並且沒有技術支援的”(Experimental and Unsupported)工具,日後可能會被轉正,也有可能在某個JDK版本中無聲無息地消失。所以,且用且珍惜吧。
到此這篇關於Java的jinfo命令使用詳解的文章就介紹到這了,更多相關Java jinfo命令內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45