问题标签 [jvm-arguments]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1141 浏览

jvm-arguments - JVM最小堆大小推荐的原因?

BEA 建议保持最小和最大堆大小相同。他们没有详细说明提出建议的原因。有人可以提供详细信息吗?

我还从架构师那里得到了另一个建议,即不设置任何最小值而只设置最大值。对此有何评论?如果我不使用它,默认值是什么?

什么是监控和调整 JVM 设置的最佳工具。我在 BEA weblogic 10g 上使用 JDK1.6。它在 Linux 32 位 JVM 上。

最大堆大小设置为 2GB 有什么好处吗?服务器有很多内存。目前设置为 1.5GB,当有 40 个并发用户时使用率为 80%。谢谢,

0 投票
2 回答
1415 浏览

jvm - 查找 jvm 在运行时启动的命令 (1.6.0_12)

全文:我正在尝试启动一个具有更大内存分配的 hudson 实例,并且我目前正在使用 root 拥有的脚本,我无法直接修改这些脚本来传递参数。但是,脚本当前在启动服务时会传递 $JAVA_ARGS 变量。我已将所需参数导出到 JAVA_ARGS,但应用程序似乎仍受旧内存限制的约束。

问题:有没有办法找出启动实例时使用了哪些命令行参数。更具体地说,我希望找到传递给 Xmx 和 Xms 的值(如果有的话)。

0 投票
6 回答
106425 浏览

java - 64 位 JVM 的最大可能堆大小是多少?

-Xmx在 32 位系统中可以设置的理论最大堆值当然是2^32字节,但通常(请参阅:了解最大 JVM 堆大小 - 32 位与 64 位)不能使用全部 4GB。

对于在 64 位机器上运行在 64 位操作系统中的 64 位 JVM,除了2^64字节或 16 艾字节的理论限制之外,还有其他限制吗?

我知道由于各种原因(主要是垃圾收集),过大的堆可能不明智,但是鉴于阅读了有关具有 TB RAM 的服务器的信息,我想知道什么是可能的

0 投票
2 回答
24909 浏览

jvm - JVM 选项列表 - 在 Oracle 之后仍在维护?

JVM 选项列表是否仍在任何地方维护?它似乎已经从 Oracle 的网站上消失了,但幸运的是 Wayback Machine 有一个副本

0 投票
1 回答
6351 浏览

java - 为什么 64 位 JVM 在达到 xmlx 之前会抛出内存不足?

我正在努力解决 Java 应用程序的大内存需求。

为了解决更多内存问题,我切换到了 64 位 JVM 并使用了大型 xmlx。但是,当 xx 大于 2GB 时,应用程序似乎比预期更早地耗尽了内存。当以 2400M 的 xx 运行并查看 GC 信息时,-verbosegc我得到...

...然后它会引发内存不足异常。我希望它在内存不足之前将堆增加到 2065024K 以上。

在一个简单的例子中,我有一个测试程序,它在循环中分配内存并打印出信息Runtime.getRuntime().maxMemory()Runtime.getRuntime().totalMemory()直到它最终耗尽内存。

在一系列 xx 值上运行它,似乎Runtime.getRuntime().maxMemory()报告比 xx 少 10%,并且总内存不会增长超过 90% Runtime.getRuntime().maxMemory()

我正在使用以下 64 位 jvm:

这是代码:

我使用这个批处理文件在多个 xml 设置上运行它。它包括对 32 位 JVM 的引用,我想与 32 位 jvm 进行比较 - 显然,只要 xmlx 大于约 1500M,此调用就会失败

这会吐出一个 csv,当放入 excel 时看起来像这样(为我的格式不佳道歉)

32 位

64 位

0 投票
3 回答
4253 浏览

java - 如何增加 java 内存(算法在 ubuntu 上运行,但不在 mac 上;相同的机器配置)

最近我收到了臭名昭著的错误消息:OutOfMemoryError. 我有一台 64 位 Mac,配备 16GB 内存和 2X2.6 GH 四核。收到此错误消息对我来说根本没有意义,因为我正在运行的相同算法(导致此错误消息)在另一台机器(ubuntu 16GB Ram)上顺利运行。

当我在我的 Mac 上运行上面的代码时,我得到:129,957,888(当然没有逗号:-))

在 ubuntu 机器上运行此代码时,我得到:1,856,700,416

谁能告诉我如何增加最大内存以运行我的算法?谢谢!

我试图在我的 eclipse: default VM arguments 上设置-Xms512m -Xmx4g,但没有任何改变。

0 投票
2 回答
4623 浏览

eclipse - 当我尝试在 Eclipse 中运行我的项目时,为什么找不到我的 VM Argument 的路径?

我有几个 .properties 文件希望 Eclipse 获取。根据安装 ESAPI 的说明,我可以通过执行以下操作将它们添加到我的项目中:

在 Eclipse 中,我将转到 Window > Preferences > Java > Installed JREs

从那里我选择我唯一的选项 jre7 并单击 Edit... 按钮。

在 Default VM Arguments: 框中,我输入了以下内容:

然而,当我尝试运行我的项目时,出现以下错误:

即使目录和文件就在那里。我试过其他地方没有运气。有什么想法吗?

更新:当我尝试:

我只是得到这个输出,好像它不喜欢使用的选项:

有关详细信息,请参阅http://java.sun.com/javase/reference 。

0 投票
1 回答
82847 浏览

jvm - 非服务器类机器上 Xmx、Xms、MaxPermSize 的默认值

非服务器类机器上 Java 6 中以下选项的默认值是什么?

  • -Xmx
  • -XX:MaxPermSize

Oracle 的文档指出:

在运行服务器 VM 的服务器级机器上,垃圾收集器 (GC) 已从以前的串行收集器 (-XX:+UseSerialGC) 更改为并行收集器 (-XX:+UseParallelGC)。

在运行带有并行垃圾收集器 (-XX:+UseParallelGC) 的 VM(客户端或服务器)的服务器级机器上,初始堆大小和最大堆大小已更改

该页面没有描述非服务器类机器的默认值,仅说明,例如,初始堆大小是“合理的最小值”。查看该命令的“手册页”java ,有以下内容-Xms

默认值在运行时根据系统配置选择

0 投票
5 回答
7722 浏览

java - 始终获取 java.lang.OutOfMemoryError: PermGen space Error in Eclipse

我一直在 Eclipse 中打开任何文件时出现java.lang.OutOfMemoryError: PermGen space Error (exclipse 已关闭并且日志显示此错误),并且当我 manuaalu 退出 exclipse 时,它​​显示相同的错误,说无法保存状态工作区(说明 permgen 错误)这是工作区元数据文件夹下日志文件中的日志

即使我将 eclipse.ini 参数更改为以下值。得到同样的错误

我正在使用 eclipse helios 3.6 版本并拥有 8 GB 的 RAM。我不知道如何摆脱这个。

0 投票
2 回答
7477 浏览

java - 如何以编程方式访问检查 -Xms -Xmx 和 -XX:MaxPermSize JVM 参数值?

可能重复:
读取 Java JVM 启动参数(例如 -Xmx)

我在 Tomcat 服务器上运行应用程序,我想访问-Xms -Xmx-XX:MaxPermSizeJVM 参数值的值,以便我可以记录它们以获得调试帮助。

我试图在System.properties和 using中找到这些参数System.getEnv(),但它们不存在。是否有另一种方法来获取它们,或者,它们是否存在System.propertiesSystem.getEnv()表明这些选项尚未设置?