问题标签 [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.
java - 如何让 PSOldGen 扩展以容纳非常大的对象?
我有一个程序需要为一个非常大的对象分配堆空间,但是我发现OutOfMemoryException
当空闲堆似乎比那个大对象应该需要的多得多时,我得到了 s 。
这个测试程序演示了这个问题:
如果我运行它java -Xmx40M -XX:+PrintGCDetails HeapTest 28000000
,我会得到以下输出:
我试图创建的数组应该是大约 27344K,它稍微超过了 PSOldGen 对象空间的大小。但是,未使用的总空间约为 54000K,几乎是我的阵列所需空间的两倍。由于我的(真实)程序就地在阵列上工作,因此它几乎不使用超出阵列所需的任何内存,因此分配我需要的两倍内存并只使用其中的一半似乎很浪费。
有没有一种方法可以说服 JVM 让老一代的增长速度超过默认情况下的增长速度?
java - 如何更改 Processing.exe 的启动器参数?
打开 processesing.exe 时如何更改启动器参数?我在 64 位 Windows 系统上运行,我需要能够在 32 位模式下运行 JVM。
eclipse - 通过 Maven 为 Eclipse 设置 vm 默认参数
我想指定 -Djava.library.path=./src/main/resources 的 vm args 以便自动拾取一个 dll,并且我想在 maven 中指定这个,因此其他开发人员不必手动配置 eclipse .
我在想maven eclipse插件可能会有所帮助,所以我可以做类似的事情
但我看不到从插件中添加 VM args 的方法。
我已经修复了这个问题,以便在命令行通过 maven 运行我的测试
我目前的解决方案是,我将不得不告诉开发人员手动将其添加到 eclipse 中,这似乎不太好。
有没有人对如何解决这个问题有任何想法。
干杯,
大卫。
java - 将整个文件传递给 JVM 参数
我有几个系统都需要将相同的属性加载到 JVM。我可以使用 -D 标志一次加载一个属性,但我正在寻找能够一次加载整个文件中所有属性的东西。例如:
我可以一次将 --options-file=blah.properties 添加到我网络上的所有 jvm,然后只更改属性文件,这可能是网络共享上的单个中央文件。
谢谢,
编辑:任何参数或命令也必须在 Windows 环境中工作。因此,任何特定于 unix 的 bash 或脚本黑客都将不起作用。
java - 代理后面的maven测试(鱿鱼)
我在 squid 代理服务器后面遇到 Maven 问题。
我的系统有一个模块,它依赖于与远程 Web 服务的外部通信。
我在 ~/.m2/settings.xml 下有我的 maven 代理配置,但显然,这些信息仅用于依赖项下载。
当我运行“mvn test”时,这些配置不会用于命令行执行调用。这是控制台上回显的指令:
有一种方法可以在测试和其他 maven 方法执行期间将参数传递给 JVM?
jsf - 如何以编程方式设置 -Dorg.apache.el.parser.COERCE_TO_ZERO=false
这个问题类似于:
但我对解决方案并不完全满意。上下文是相同的:我有一个需要整数值的 Web 表单。如果文本框为空,我希望我的 Integer 字段为“null”,但 EL Parser 会自动将我的 id 字段设置为“0”。
我可以通过在本地 Tomcat VM 中设置 JVM 参数来解决此问题:
-Dorg.apache.el.parser.COERCE_TO_ZERO=false
但是,这不适用于我们客户的机器。是否可以“代码内”设置/更改此 JVM 参数。
更新:我发现有人要求这样做,但如果其他人有任何其他解决方法,我也想听听。
https://issues.apache.org/bugzilla/show_bug.cgi?id=48813
更新 2:我无法将值从“0”更改回“空”,因为我的应用程序应将“0”视为实际 ID。所以我需要在运行时知道 id 文本框是否为空。
java - 鼓励 JVM 进行 GC 而不是增加堆?
(请注意,当我说“JVM”时,我的意思是“热点”,我正在运行最新的 Java 1.6 更新。)
示例情况:
我的 JVM 运行时 -Xmx 设置为 1gb。目前,堆分配了 500mb,其中 450mb 被使用。该程序需要在堆上再加载 200 mb。目前,堆中有 300mb 的“可收集”垃圾(我们假设它们都在最老的一代中。)
在正常操作下,JVM 会将堆增加到 700 mb 左右,并在到达时进行垃圾收集。
在这种情况下,我希望 JVM 先 gc,然后分配新的东西,这样我们最终的堆大小保持在 500mb,使用的堆大小保持在 350mb。
是否有一个 JVM 参数组合可以做到这一点?
java - 如何在 Spring applicationContext.xml 中读取 JVM 参数
我有一个带有 Spring 的 JSF Web 应用程序,我试图找出一种从 applicationContext.xml 引用 JVM 参数的方法。我使用环境参数(例如,-Denv=development)启动 JVM。我发现并尝试了几种不同的方法,包括:
但是,当在 MyClass 中调用 setter 方法时,传递的是字符串“${environment}”,而不是“development”。我有一个使用 System.getProperty() 的解决方法,但是能够通过 Spring 设置这些值会更好、更清晰。有没有办法做到这一点?
编辑:我之前应该提到的是我正在使用 JDBC 连接从我的数据库中加载属性。这似乎增加了复杂性,因为当我向配置中添加属性占位符时,从数据库加载的属性会被属性占位符覆盖。我不确定它是否取决于订单或其他什么。这就像我可以做一个或另一个,但不能两者兼而有之。
编辑:我目前正在使用以下配置加载属性:
jvm-arguments - ant 的码头插件:如何定义像 javaagent 这样的 jvmarg?
我正在运行一个蚂蚁码头任务,我想提供几个与码头进程相关的 jvmargs:-Xmx -Dcom.sun.management.jmxremote.port -javaagent -...
除了 ANT_OPTS 之外找不到任何可用的选项..
jenkins - 当它在 Windows 下作为服务启动时,如何给 Jenkins 更多的堆空间?
我想增加 Jenkins 的可用堆空间。但是由于它是作为服务安装的,所以我不知道该怎么做。