为了方便故障排除,我想将 java 进程的调用方式准确记录到我们的日志文件中。
理想情况下,这应该包括:
- 参数:好吧,这很简单,我已经在这样做了。
- -Xmx256m -XX:+UseParallelGC 类型内容
- -Dsome.arg=VALUE 内容
- 其他参数,例如 -server -cp "./lib;./bin"...
有办法做到这一点吗?
编辑:我需要从java内部而不是外部执行此操作
最佳答案
使用RuntimeMXBean.getInputArguments()
:
List<String> arguments = ManagementFactory.getRuntimeMXBean().getInputArguments();
这只会返回初始化期间传递给 JVM 的参数。
可以通过 RuntimeMXBean 的其他方法找到更多信息,例如 getClassPath()
, getVmName()
,...
关于java - 是否可以记录 jvm 的调用方式(包括所有 -D -Xmx 等),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5727905/