Bob*_*ght 46 java configuration jvm jvm-hotspot
我试图找出是否有办法从正在运行的java进程中确定JVM启动属性.具体来说,我试图找出存储-Xmx(最大堆大小)和-XX:MaxPermSize等参数的位置.我正在运行Sun的1.6 jvm.
如果您想知道我为什么要这样做,我有许多JVM网络服务器可能正确配置也可能没有配置,我想将其添加到启动代码检查中.检查一下到处部署的java代码比手动查找和检查所有jvm启动文件要容易得多.现在,jvm配置文件的好坏不是我们构建过程的一部分,也不是检查到源代码控制.
Von*_*onC 53
尝试:
import java.lang.management.ManagementFactory;
import java.lang.management.RuntimeMXBean;
import java.util.List;
public void runtimeParameters() {
RuntimeMXBean bean = ManagementFactory.getRuntimeMXBean();
List<String> aList = bean.getInputArguments();
for (int i = 0; i < aList.size(); i++) {
System.out.println( aList.get( i ) );
}
}
Run Code Online (Sandbox Code Playgroud)
这应该显示所有JVM参数.
注意:我们在VCS中也没有JVM参数,但是在数据库中,我们自己的生成器中的启动器读取.这样,我们可以远程更改这些值,而无需重新部署JVM参数文件设置.
您将在本文中找到各种JVM工具(来自"Dustin的软件开发Cogitations and Speculations"),包括 Java Application Launcher链接到:
ManagementFactory.getRuntimeMXBean(
)打电话getInputArguments()
的javadoc此技术利用了自J2SE 5以来可用的Platform MXBeans (Java SE 6中添加了自定义MXBeans支持).
使用Sun的JVM时,有关JVM参数的两个有用信息来源是:
- JVM选项和集合的集合
- Charles Nutter最喜欢的Hotspot JVM标志.
这两个资源都列出并描述了一些/所有可用的不推荐用于临时开发人员的双
X
参数(-XX
).
归档时间: |
|
查看次数: |
32092 次 |
最近记录: |