Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/352.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在Windows Server 2012中为Tomcat 7.0设置以GB为单位的堆大小_Java_Tomcat_Jvm_Tomcat7 - Fatal编程技术网

Java 在Windows Server 2012中为Tomcat 7.0设置以GB为单位的堆大小

Java 在Windows Server 2012中为Tomcat 7.0设置以GB为单位的堆大小,java,tomcat,jvm,tomcat7,Java,Tomcat,Jvm,Tomcat7,我在这个问题上纠缠了很长时间,没有找到任何解决办法 我的Tomcat7_1w.exe中有以下Java选项: (我没有setenv.bat或catalina.bat) 但我得到了以下错误: [2018-03-09 16:01:29][error][12196]CreateJavaVM失败 [2018-03-09 16:01:29][error][12196]系统找不到输入的环境选项。 [2018-03-09 16:01:29][error][1620]无法启动Java [2018-03-09 1

我在这个问题上纠缠了很长时间,没有找到任何解决办法

我的
Tomcat7_1w.exe中有以下Java选项:

(我没有setenv.bat或catalina.bat)

但我得到了以下错误:

[2018-03-09 16:01:29][error][12196]CreateJavaVM失败
[2018-03-09 16:01:29][error][12196]系统找不到输入的环境选项。
[2018-03-09 16:01:29][error][1620]无法启动Java
[2018-03-09 16:01:29][error][1620]ServiceStart返回4

我尝试了
-Xmx4g
-Xmx4g
仍然是相同的错误

可行的选项:

-Dcatalina.home=G:\Server\Tomcat_1
-Dcatalina.base=G:\Server\Tomcat_1
-Djava.endorsed.dirs=G:\Server\Tomcat_1\endorsed
-Djava.io.tmpdir=G:\Server\Tomcat_1\temp
-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
-Djava.util.logging.config.file=G:\Server\Tomcat_1\conf\logging.properties
-XX:SoftRefLRUPolicyMSPerMB=3600
-XX:+UseParallelGC
-XX:NewRatio=2
-Dserver
-Xmx1024m
-Xms512m
另外,如果我使用选项
-d64
(使用小的d),我会得到相同的错误。大写字母D没有给出错误


我做错了什么?

选项-d32和-d64在windows上不起作用。您应该根据系统路径变量中的JRE(32或64位)选择bin文件夹。

其他信息: 在Windows中,您不能使用Java选项在32位和64位之间切换,而是需要安装所需版本的JVM

如果出现以下错误:

%1不是有效的Win32应用程序。
创建java C:\Program Files\java\jre1.8.0\u 161\bin\server\jvm.dll失败


然后,JVM和ApacheTomcat之间存在版本不匹配,即一个是32位,另一个是64位。两者都需要是相同的版本。

根据评论,-d32或-d64选项仅在Solaris平台上有效,因此您无需应用它。该-Dserver不是不完整,就是您想配置-server。@glytching如何检查JVM的版本?我在
Program files
中有一个
jre6
文件夹,在
Program files(x86)
文件夹中有一个
jre1.8.0\u 121
文件夹运行java-version可以查看系统的默认java版本。我相信tomcat也会在某个地方记录它,所以如果您尝试使用一个有效的参数设置,那么您应该能够在其中一个日志文件中验证它。感谢您提供的信息,帮助我解决了我的问题!我发现不仅JRE版本是32位的,Tomcat版本也是32位的。我必须安装这两个版本的64位版本,然后才能设置所需的堆大小。
-Dcatalina.home=G:\Server\Tomcat_1
-Dcatalina.base=G:\Server\Tomcat_1
-Djava.endorsed.dirs=G:\Server\Tomcat_1\endorsed
-Djava.io.tmpdir=G:\Server\Tomcat_1\temp
-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
-Djava.util.logging.config.file=G:\Server\Tomcat_1\conf\logging.properties
-XX:SoftRefLRUPolicyMSPerMB=3600
-XX:+UseParallelGC
-XX:NewRatio=2
-Dserver
-Xmx1024m
-Xms512m