Java 更改最大堆大小时未运行命令

Java 更改最大堆大小时未运行命令,java,process,heap-memory,processbuilder,Java,Process,Heap Memory,Processbuilder,问题:这是上面描述的jar环境所需的命令,如果我将最大堆大小从1400移到1000,则该命令有效,尽管我知道jar不会对堆做任何事情。但是我想知道为什么它会改变,或者可能是什么原因 JAVA -Xms500M -Xmx1800M -XX:+UseConcMarkSweepGC -classpath C:\XYZ\MY_installer\lib\jlex.jar;C:\XYZ\MY_installer\lib\antlr.jar;C:\XYZ\MY_installer\lib\mytemplat

问题:这是上面描述的jar环境所需的命令,如果我将最大堆大小从1400移到1000,则该命令有效,尽管我知道jar不会对堆做任何事情。但是我想知道为什么它会改变,或者可能是什么原因

JAVA -Xms500M -Xmx1800M -XX:+UseConcMarkSweepGC -classpath C:\XYZ\MY_installer\lib\jlex.jar;C:\XYZ\MY_installer\lib\antlr.jar;C:\XYZ\MY_installer\lib\mytemplate.jar;C:\XYZ\MY_installer\lib\log4j-1.2-api-2.0-beta8.jar;C:\XYZ\MY_installer\lib\log4j-api-2.0-beta8.jar;C:\XYZ\MY_installer\lib\log4j-core-2.0-beta8.jar;C:\WORKSPACES\delnaz\del_prj;  -DENVFILE=C:\XYZ\MY_installer\bin\escat.ini utilities.graph.GraphDriver C:\XYZ\MY_installer "C:\WORKSPACES\delnaz\del_prj\del.prj" "C:\WORKSPACES\delnaz\del_prj" 1
还有一个开始:
我们需要Maxheap size的原因是我们不能有一个选项,在这个选项中我们可以查看以在标准选项上运行应用程序。

这两个命令选项

java version "1.7.0_21"
Java(TM) SE Runtime Environment (build 1.7.0_21-b11)
Java HotSpot(TM) Client VM (build 23.21-b01, mixed mode, sharing)

Windows 7 Enterprise

RAM 4GB

32 bit OS
应该是

-ms500M -mx1800M

您使用的是32位版本的JDK吗

32位JDK有一个最大堆大小限制(就像32位操作系统不能使用超过4GB的RAM一样)

使用64位版本的JDK(假设您有64位操作系统)

编辑:

既然您现在提到您正在使用32位操作系统,我有一些坏消息要告诉您

除非移动到64位系统,否则无法增加堆大小

查看此项了解更多信息:


唯一的解决方案是重构程序,使其使用更少的内存,并为Xmx使用更小的值,如
-Xmx1000M

这只适用于64位版本的java

转到
控制面板>java图标
。打开java控制面板的小窗口

单击java
菜单栏>查看按钮

如果您有两个java平台,请禁用java的早期版本,然后单击Runtime parameters文本字段


在这里写下
-Xmx1024m
或小于RAM大小。不要增加等于RAM的堆大小,否则系统将崩溃

是否应该是
-Xms
-Xmx
?检查此@tripathi它在-Xmx1400M上运行正常,但现在正在-Xmx(1000到1390)上运行:错误:无法创建Java虚拟机。错误:发生致命异常。程序将退出。32位JDK是罪魁祸首。你不能使用超过1400M的距离。我自己也面临过同样的问题,几个月前。但我的应用程序还没有32位jdk的任何规范。问题是,在它正常工作之前…好吧,同意1.4G到1.6G,但在某些系统中,它甚至在1200M上都不工作。这种变化是有害的。我知道这可能是因为系统用户原因。关于为什么我们需要Maxheap大小,我们可以没有可以查看的选项吗在标准选项上运行应用程序。如果目前不想涉足内存优化技术。在基本层面上,我测试的代码缺陷并不多,这取决于JVM启动时可用的内存量。如果只有1000米的空闲空间,而JVM要求1200米,它不会得到它,是吗?要么修改程序使其使用更少的内存,要么移动到64位系统并增加RAM。
-ms500M -mx1800M
-Xms500M -Xmx1800M