当前位置: 首页 > 面试题库 >

增加Tomcat内存设置

惠诚
2023-03-14
问题内容

我的开发机器上有8GB RAM,并试图运行Apache
Tomcat(7.0.29)同时托管Artifactory(2.6.3)和Jenkins(1.479)。我试图找到Jenkins的内存需求,但看起来他们的Wiki断了。

在中${TOMCAT_HOME}/bin/catalina.sh,我添加了以下命令:

CATALINA_OPTS="$CATALINA_OPTS -server -Xms1024m -Xmx3052m"

这应该将Tomcat的JVM的大小保持在(基本上)1到3 GB之间,为我留出足够的空间来容纳其他内容, 为Tomcat留出足够的内存来存放Artifactory / Jenkins以及我需要的其他内存。

(为此,我尝试了相同的操作,但JAVA_OPTS只获得了相同的准确结果)。我保存该更改并运行startup.sh。Tomcat开始启动,然后死于OOMEs,抱怨Tomcat已经用完了PermGen空间:

Exception in thread "SocketListener(<hex-stuff>.local.)"
java.lang.OutOfMemoryError: PermGen space
java.lang.OutOfMemoryError: PermGen space
java.lang.OutOfMemoryError: PermGen space
Exception in thread "hudson initialization thread" java.lang.OutOfMemoryError: PermGen space
java.lang.OutOfMemoryError: PermGen space

我要去哪里啊?我已经阅读了多篇有关如何执行此操作的文章,并且(相信!)我正在精确地关注它们。关于如何进一步调试的任何想法或想法?提前致谢!


问题答案:

尝试设置这个

CATALINA_OPTS="-Djava.awt.headless=true -Dfile.encoding=UTF-8 
-server -Xms1536m -Xmx1536m
-XX:NewSize=256m -XX:MaxNewSize=256m -XX:PermSize=256m 
-XX:MaxPermSize=256m -XX:+DisableExplicitGC"

{$tomcat-folder}\bin\setenv.sh(如有必要,请创建)。

有关更多详细信息,请参见 http://www.mkyong.com/tomcat/tomcat-javalangoutofmemoryerror-
permgen-space/



 类似资料:
  • 问题内容: 我在Google和此站点中搜索了我的问题,但我仍然不明白该解决方案。 我有一段程序里面有一些数据。程序在大型阵列上崩溃,并显示虚拟内存不足的错误,因此我开始考虑文件。 在此之前: 之后: 我在Ubuntu上进行了测试,并通过系统监视器看到了这种内存增加。但是我很困惑,(和)参数没有变化。 问题是-实际内存使用量的指标是什么? 这是否表示真实指标是?(并且仅分配但仍未使用的内存) 问题答

  • 我试图从SSRS服务器读取报告,问题是我的内存流不能超过65536字节。 到目前为止,我已经尝试过使用内存流,但尚未成功设置其容量,然后再阅读报告本身 上面的MemoryStream必须在我读取文件之前增加它的容量。 我试过在我的应用程序中玩。配置,但我不知道从哪里开始设置内存流的字节容量

  • 我想改变(增加)Java内存限制(Windows PC上的JRE)。我到处都遵循以下命令: -xms设置初始Java堆大小 -Xmx设置最大Java堆大小 例如-Xmx1024m。 但我的问题是在哪里!我必须输入这个命令吗?抱歉这个初学者的问题。通常我对java没有任何接触。

  • 我使用“mvn exec:java”运行我的程序: 我没有找到更改JVM的最大内存分配。 我试过-Dexec.commandlineArgs="..."但那不起作用...

  • 我正在使用Spark1.4进行研究,并与内存设置进行斗争。我的机器有16GB内存,所以没有问题,因为我的文件只有300MB。但是,当我试图使用函数将Spark RDD转换为panda dataframe时,我收到以下错误: 我试图修复这个问题,更改了spark-config文件,但仍然得到相同的错误。我听说这是Spark1.4的一个问题,不知道您是否知道如何解决这个问题。任何帮助都是非常感谢的。

  • 问题内容: 嗨,我想知道我可以根据我的应用程序增加JVM的内存。如果是,如何增加JVM的内存?我怎么知道JVM的大小? 问题答案: 启动JVM时,可以调整两个参数以适合你的内存需求: 指定初始Java堆大小,并 最大Java堆大小。 http://www.rgagnon.com/javadetails/java-0131.html