java - 是否可以记录 jvm 的调用方式(包括所有 -D -Xmx 等)

标签 java logging command-line

为了方便故障排除,我想将 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/

相关文章:

Java - 异步 - 线程池

java - JPA:一个实体映射到多行,可能吗?

python - 像这样将上下文注入(inject) eventlet 线程安全吗?

linux - 如何在 Linux 中停止命令日志( rsyslog )?

wcf - svcutil.exe 没有为 minOccurs=0 生成指定的字段

java - JAX-RS @CookieParam 值从一个请求更改为另一个请求

java - 在java中搜索文件中的多个字符串

java - Log4j 挂起我的应用程序几分钟

ios - 是否可以使用 xcodebuild 完全不用 Xcode 来开发 iOS 应用程序?

Mysql 导入命令在 cmd 上运行时有效,但在直接传递参数时无效