use*_*528 10 java jvm properties
我希望获得为第三方java进程/ JVM设置的系统属性.我需要以编程方式执行此操作.例如,获取"java.class.path"属性.我怎样才能做到这一点?
我知道我们可以获取使用System.getProperty()编写的java程序的属性.但我需要获取第三方JVM的系统属性.我怎样才能获得相同的?
Rog*_*sjö 17
如果第三方JVM只是意味着另一个JVM,那么你应该尝试使用jinfo.这不适用于所有JVM实现,但很可能有它或类似的东西.jinfo将进程id作为参数(或远程系统,请参阅man jinfo).要查找进程ID,请使用jps或jps -v.
jinfo 74949 Attaching to process ID 74949, please wait... Debugger attached successfully. Server compiler detected. JVM version is 20.4-b02-402 Java System Properties: java.runtime.name = Java(TM) SE Runtime Environment sun.boot.library.path = /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Libraries java.vm.version = 20.4-b02-402 awt.nativeDoubleBuffering = true ...
从 Java 7 开始,您可以使用作为jcmd
JDK 一部分的命令,以便它在所有操作系统上以相同的方式工作。
它可以与 pid 或主类一起使用。
然后语法是 jcmd ${pid} VM.system_properties
例子:
> jcmd 2125 VM.system_properties
2125:
#Tue Jul 24 18:05:39 CEST 2018
sun.desktop=windows
...
Run Code Online (Sandbox Code Playgroud)
然后语法是 jcmd ${class-name} VM.system_properties
例子:
> jcmd com.mycompany.MyProgram VM.system_properties
2125:
#Tue Jul 24 18:05:39 CEST 2018
sun.desktop=windows
...
Run Code Online (Sandbox Code Playgroud)
有关如何使用的jcmd
更多详细信息。
另请参见该jcmd
实用程序
归档时间: |
|
查看次数: |
14223 次 |
最近记录: |