pac*_*cer 1 java out-of-memory jvm-arguments
我当时正在使用一个工具。JVM 选项是可配置的。
最近,我收到 OutOfMemoryError 因此我在选项配置中添加 -Xmx1024m ,如下所示。
config.properties:JVM_OPTION =“-Xmx4096m -XX:-UseGCOverheadLimit”
之前的cmd日志:java -Xms16777216 -Xmx50m com.f.Startmain
现在的cmd日志:java -Xms16777216 -Xmx50m com.f.Startmain -Xmx4096m -XX:-UseGCOverheadLimit
该工具现在仍然内存不足,因为 -Xmx4096m 没有覆盖旧的。该工具不可修改,配置只是在命令末尾添加新选项。
有人知道在 JVM 选项中覆盖 -Xmx50m 的方法吗?
这似乎已经在这里得到了回答
显然对于Windows和Linux,你可以设置:
export _JAVA_OPTIONS="-Xmx1g"
Run Code Online (Sandbox Code Playgroud)
我进行了快速测试,这似乎覆盖了命令行参数。(意外)
我的代码:
public class Test {
public static void main(String[] argv) {
System.out.println("mem: " + Runtime.getRuntime().freeMemory());
System.out.println("total mem: " + Runtime.getRuntime().totalMemory());
}
}
Run Code Online (Sandbox Code Playgroud)
这是运行该程序的输出
export _JAVA_OPTIONS="-Xmx20m";
java Test
>> Picked up _JAVA_OPTIONS: -Xmx20m
>> mem: 19601168
>> total mem: 20447232
java -Xmx123m Test
>> Picked up _JAVA_OPTIONS: -Xmx20m
>> mem: 19601320
>> total mem: 20447232
# clear java options
export _JAVA_OPTIONS=
java -Xmx123m Test
>> Picked up _JAVA_OPTIONS:
>> mem: 121773128
>> total mem: 123731968
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,在我清除 _JAVA_OPTIONS 之前,命令行上的 Xmx 值将被忽略。
| 归档时间: |
|
| 查看次数: |
4067 次 |
| 最近记录: |