我有一个应用程序在尚未激活的窗口(如果重要)上的浏览器(如果重要,则为 IE)上运行。我已经将JVM控制面板中的环境变量设置为-Xms5m -Xmx5m(我也做了-Xms16m和-Xmx16m)。
当我运行应用程序并使用 jconsole 监视进程的 pid 时,它告诉我我使用的堆比我设置的堆要多得多,而不是抛出堆空间不足的错误(我正在尝试专门解决这个错误)。根据 jconsole,它使用 15-20Mb。我已重新启动计算机,并在关闭所有浏览器的情况下设置了此选项。
有谁知道为什么参数被忽略。
让我知道是否缺少任何信息。
请注意,jconsole 明确表示我的堆内存使用量为 20mb。我很清楚,由于 JVM、库、堆栈等的加载,可能会使用更多内存。我遇到的问题是堆超出了我指定的应该使用的堆大小。
-Xmx16m 选项未在 Java VisualVm 中列出,即使它是在环境变量中设置的唯一选项(我什至删除了 -Xms16m 以确保 Java VisualVm 正在更新。尽管 -Xmx16m 确实出现了 -Xms16m没有)。有谁知道为什么会这样?
我已经尝试过从 27 到 31 的 Java RE 版本 6,它们都缺少 Java VisualVm 选项中的 Xmx 选项,并且它们都只有 -Xms16m。