【问题标题】:Allocate more memory to Tomcat 8.5 on Java 8在 Java 8 上为 Tomcat 8.5 分配更多内存
【发布时间】:2018-04-04 10:10:09
【问题描述】:

我必须更改哪些设置才能在 Oracle JDK for Java 8 上允许 Tomcat 8.5 更多内存(在 4 gig 的范围内)?

这在here 之前已被问到。但这被(错误地)标记为this 的副本。 Questions and their Answers 的上下文是老一代的 Tomcat(版本 7,与当代 8.5)和老一代的 Java(Java 6 和 Java 7 与当代 Java 8)。所以所有的讨论都围绕在现代 Java 中不再存在的 PermGen 上。

➠ 使用 Oracle 为 macOS 等提供的 Java 实现在 Java 8 Update 151 上为 Tomcat 8.5.x 提供更多内存的现代设置是什么?

如果未指定,Tomcat 使用的最小和最大内存是多少?


从各种来源(例如此RUNNING.txt 文档)中收集一些信息,我在Tomcat bin 文件夹中创建了一个setenv.sh 文件,其中包含以下文本:

CATALINA_OPTS="-Xms4096m -Xmx4096m"

我预计这会立即占用 4 gigs 的内存,但可惜,没有。在 Mac OS X 上,我看到 java 进程的虚拟内存为 1.87 GB,而实际内存为 1.39 GB。

所以我不确定是什么控制了 Tomcat 8.5.23 的最小/最大内存使用量。

【问题讨论】:

  • 使用-Xmx4196m 标志没有帮助?
  • @nullpointer 请参阅编辑,底部部分解释使用该 X 标志可能无法完成工作。
  • 我想知道我是否应该在 Server Fault Stack Exchange 上而不是在 Stack Overflow 上发布这个问题。
  • 只要 setens.sh 完全运行,只要 Jvm 重新启动,内存就会被提升。确保此文件在启动时运行(同时检查权限)并使用 jvisualvm 或 jmc(可在 jdk/bin 目录中找到)查看最大内存量。
  • 也许 export 变量,例如export CATALINA_OPTS="-Xms4096m -Xmx4096m"

标签: java oracle tomcat memory java-8


【解决方案1】:

在你的setenv.sh中,你需要导出,如@vtosh的评论所示:
export CATALINA_OPTS="-Xms4096m -Xmx4096m"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-12-17
    • 2015-12-04
    • 2018-07-02
    • 1970-01-01
    • 1970-01-01
    • 2012-01-23
    • 1970-01-01
    • 2013-09-30
    相关资源
    最近更新 更多