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

Set Heap Size in GB for Tomcat 7.0 in Windows Server 2012

我在这个问题上卡了很久都没有找到解决办法。

我的 Tomcat7_1w.exe 中有以下 Java 个选项:
(我没有 setenv.bat 或 catalina.bat)

-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
-D64
-Xmx8g
-Xms2g

但是我收到以下错误:

[2018-03-09 16:01:29] [error] [12196] CreateJavaVM Failed
[2018-03-09 16:01:29] [error] [12196] The system could not find the environment option that was entered.
[2018-03-09 16:01:29] [error] [ 1620] Failed to start Java
[2018-03-09 16:01:29] [error] [ 1620] ServiceStart returned 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。您应该 select 根据系统 PATH 变量中带有 JRE(32 或 64 位)的 bin 文件夹。

附加信息:

开始,在 Windows 中,您无法使用 Java 选项在 32 位和 64 位之间切换,而是需要安装所需版本的 JVM。

如果您遇到以下错误:

%1 is not a valid Win32 application.
Failed creating java C:\Program Files\Java\jre1.8.0_161\bin\server\jvm.dll

那么您的 JVM 和 Apache 之间存在版本不匹配 Tomcat,即一个是 32 位,另一个是 64 位。两者必须是相同的版本。