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

标签 java tomcat jvm tomcat7

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

我的 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 上不起作用。您应该在系统 PATH 变量中选择带有 JRE(32 或 64 位)的相应 bin 文件夹。

关于java - 在 Windows Server 2012 中为 Tomcat 7.0 设置堆大小(以 GB 为单位),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49196661/

相关文章:

java - 一次运行一个线程(而不是并行)

java - 将当前目录添加到 JAR 文件的类路径

java - 自动装箱无法将 int 转换为 Integer

tomcat - 是否有可能像 Tomcat Manager 那样使用 JMX 获取可用/总计/最大内存?

默认错误页面的 Tomcat blankpage

java - 如何在 tomcat web 应用程序中锁定文件?

java - 有没有什么好的解释java语言的库?

java - 来自 JNI_CreateJavaVM (jvm.dll) 的异常 0xC0000005

java - 在运行时执行带有已检查异常的方法调用而不捕获它的行为

在maven中构建成功后的java.lang.NoClassDefFoundError