全文: 我试图启动一个具有较大内存分配的哈德森实例,我目前正在使用由root拥有的脚本,不能直接修改以传递参数。但是,脚本当前在启动服务时传递$ JAVA_ARGS变量。我已将所需的参数导出到JAVA_ARGS,但该应用程序似乎仍受到旧内存限制的约束。在运行时查找jvm的启动命令(1.6.0_12)
问题: 有没有办法找出哪些命令行参数被用来启动实例。更具体地说,我期望找到传递给Xmx和Xms的值(如果有的话)。
java version "1.6.0_12"
Java(TM) SE Runtime Environment (build 1.6.0_12-b04)
Java HotSpot(TM) 64-Bit Server VM (build 11.2-b01, mixed mode)
该脚本指的是特定版本的Java,因此我无法重定向执行。 – chrisst
也许您可以复制脚本,然后在类似条件下运行修改后的版本。 – njlarsson
或者您可以通过操作系统实用程序监控命令,例如ps在类似Unix的操作系统中。 对此问题的答案感到抱歉,但我认为没有办法从Java访问JVM参数。你可能可以用C代码做一些事情,通过JNI调用,但是你不在Java之中,所以要做什么取决于你机器上的确切环境。 – njlarsson