java命令-jinfo

转自:Java命令学习系列(六)——jinfo

 

jinfo可以输出java进程、core文件或远程debug服务器的配置信息。这些配置信息包括JAVA系统参数及命令行参数,如果进程运行在64位虚拟机上,需要指明-J-d64参数,如:jinfo -J-d64 -sysprops pid

另外,Java7的官方文档指出,这一命令在后续的版本中可能不再使用。笔者使用的版本(jdk8)中已经不支持该命令(笔者翻阅了java8中该命令的文档,其中已经明确说明不再支持)。提示如下:

 

HollisMacBook-Air:test-workspace hollis$ jinfo 92520
Attaching to process ID 92520, please wait...
^@

Exception in thread "main" java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at sun.tools.jinfo.JInfo.runTool(JInfo.java:97)
    at sun.tools.jinfo.JInfo.main(JInfo.java:71)
Caused by: sun.jvm.hotspot.runtime.VMVersionMismatchException: Supported versions are 24.79-b02. Target VM is 25.40-b25
    at sun.jvm.hotspot.runtime.VM.checkVMVersion(VM.java:234)
    at sun.jvm.hotspot.runtime.VM.<init>(VM.java:297)
    at sun.jvm.hotspot.runtime.VM.initialize(VM.java:368)
    at sun.jvm.hotspot.bugspot.BugSpotAgent.setupVM(BugSpotAgent.java:598)
    at sun.jvm.hotspot.bugspot.BugSpotAgent.go(BugSpotAgent.java:493)
    at sun.jvm.hotspot.bugspot.BugSpotAgent.attach(BugSpotAgent.java:331)
    at sun.jvm.hotspot.tools.Tool.start(Tool.java:163)
    at sun.jvm.hotspot.tools.JInfo.main(JInfo.java:128)
    ... 6 more

由于打印jvm常用信息可以使用Jps命令,并且在后续的java版本中可能不再支持,所以这个命令笔者就不详细介绍了。下面给出help信息,读者可自行阅读使用。(这就好像上高中,老师讲到一些难点的时候说,不明白也不要紧,知道有这么一回事就可以了!)

用法摘要

以键值对的形式打印出JAVA系统参数及命令行参数的名称和内容。

-flag name
prints the name and value of the given command line flag.
-flag [+|-]name
enables or disables the given boolean command line flag.
-flag name=value
sets the given command line flag to the specified value.
-flags
prints command line flags passed to the JVM. pairs.
-sysprops
prints Java System properties as name, value pairs.
-h
prints a help message
-help
prints a help message

例如:

用jps看jvm进程号是7999,在启动命令窗口查看一个参数,修改一个参数看下结果。

#jinfo  -flag PermSize 7999

-XX:PermSize=12582912

#jinfo  -flag PrintGCDetails 7999

jinfo可以动态修改很多参数,但仍有很多参数无法修改。许多关于“是否启用”是可以修改的。如“-xx:+参数”、

“-xx:-参数”。一般来讲,对于运行时信息只能看,不能改,启动参数只有几个,很多参数是被启动参数带出来的。只有在某些参数未设置的情况下,但又需要临时加时可能会用到(如排查问题)。

 

参考资料

jinfo

posted @ 2016-05-27 17:22  milkty  阅读(758)  评论(0编辑  收藏  举报