java - 获取特定程序的 JVM 属性
问题描述
我需要在后台运行JVM Arguments
特定Java Program
的,你是怎么做到的?
我发现,这些课程ManagementFactory
会给RuntimeMXBean
我所需的结果。现在我需要用一个特定的程序来做到这一点。
另一个问题是运行以下代码时我没有得到XMX
and属性。XMS
RuntimeMXBean runtimeMXBean = ManagementFactory.getRuntimeMXBean();
List<String> jvmArgs = runtimeMXBean.getInputArguments();
我只得到javaagent
andDfile
属性,但我也需要XMX
andXMS
就像我说的那样。
解决方案
一个明显的非答案:
我需要获取在后台运行的特定 Java 程序的 JVM 参数,您究竟是如何做到这一点的?
一般来说,你不能。
您会看到,一旦该进程运行,传递给它的所有参数都被“消耗”了,这完全取决于该进程会发生什么。
我的意思是:首先不再有“通用”JVM 这样的东西。现在实际上有不同的实现。当然,它们都应该支持“标准化”-X 选项。但是每个 JVM 实现都可以提供“自己的”选项和开关。
长话短说:没有通用的方法可以从正在运行的 JVM 获取“传递的参数”。
如果您真的关心这一点,我建议:编写您自己的java
包装脚本,将所有命令行参数简单地记录到某种日志中,最好带有时间戳和java
包装脚本使用这些参数调用的“实际”的进程 ID。
推荐阅读
- c# - 可以在 UseInMemoryDatabase 中传递具有列表/数组的类吗?
- winforms - 无法安装 microsoft.VSDesigner.Exception Assistant.smart Tag 版本 14
- ios - iOS通知声音被切断
- vba - 保存数据库副本,然后通过电子邮件将其发送到共享邮箱
- php - 获取给定集合下的所有产品
- hibernate - 升级到 ColdFusion 2018 / Hibernate 5.2 后生成的 DDL 无效
- elasticsearch - 脚本过滤器字段值在数组中
- excel - 如何匹配两个动态表中的信息
- java - 如何解析eclipse plugin.xml?
- html - CSS - 避免视频中的黑色区域 1:1