在运行时修改 JVM 标志
Modify JVM flags at Runtime
我想 modify/set 我的程序一启动就标记 JVM。我不能在命令行上做,因为我和那些甚至不知道它存在的人一起工作。所以必须在程序中自动完成。
我对这三个标志特别感兴趣:-Xms4G -Xmx8G -noverify
我在 this discussion (or that one) that it is possible to modify some flags using the Interface HotSpotDiagnosticMXBean. And this code 中找到了如何修改标志的说明。不幸的是,标志 Xms
或只是 ms
未被识别,然后抛出异常。
我还发现 capsule 可以完成这项工作,但使用起来似乎很繁重。
有什么简单的方法吗?
您需要编写两个程序:一个只是一个启动器,用于向 运行 您的另一个程序提供正确的参数。这就是 Eclipse 和 Jitsi 以及现已停产的 InstallShield Multiplatform 启动器的工作方式。您可能可以编写一个简单的(例如一行或接近一行)shell、.bat 或 VBS 脚本来完成这项工作。
我想 modify/set 我的程序一启动就标记 JVM。我不能在命令行上做,因为我和那些甚至不知道它存在的人一起工作。所以必须在程序中自动完成。
我对这三个标志特别感兴趣:-Xms4G -Xmx8G -noverify
我在 this discussion (or that one) that it is possible to modify some flags using the Interface HotSpotDiagnosticMXBean. And this code 中找到了如何修改标志的说明。不幸的是,标志 Xms
或只是 ms
未被识别,然后抛出异常。
我还发现 capsule 可以完成这项工作,但使用起来似乎很繁重。
有什么简单的方法吗?
您需要编写两个程序:一个只是一个启动器,用于向 运行 您的另一个程序提供正确的参数。这就是 Eclipse 和 Jitsi 以及现已停产的 InstallShield Multiplatform 启动器的工作方式。您可能可以编写一个简单的(例如一行或接近一行)shell、.bat 或 VBS 脚本来完成这项工作。