Possible Duplicate:
Read Java JVM startup parameters (eg -Xmx)




我们有一个桌面应用程序,其中一些旧的安装程序没有适当的内存设置。

他们在“随机”时间体验到了perm生成空间不足的情况,我需要提醒运行MaxPermSize太低的用户,但我不知道如何从jvm访问此设置。

最佳答案

这应该给你一个大概的想法

public class Main {
    public static void main(final String[] args) {
        final RuntimeMXBean memMXBean = ManagementFactory.getRuntimeMXBean();
        final String prefix = "-XX:MaxPermSize=";
        final List<String> jvmArgs = memMXBean.getInputArguments();
        String maxPermSize = null;
        for (final String jvmArg : jvmArgs) {
            if (jvmArg.startsWith(prefix)) {
                maxPermSize = jvmArg.substring(prefix.length());
                break;
            }
        }

        System.out.println("MaxPermSize is " + maxPermSize);
    }
}

08-03 12:38