我需要将Tomcat内存设置配置为更大安装的一部分,因此在事实无法实现后,使用配置应用程序手动配置tomcat。我以为我可以把JVM内存设置放到JAVA_OPTS环境变量中,但是我正在使用jconsole来测试它是否有效,而且......没有。
根据下面的评论,CATALINA_OPTS也不起作用。到目前为止,我能让它工作的唯一方法是通过Tomcat配置GUI,这对我的问题来说不是一个可接受的解决方案。
答案 0 :(得分:71)
Serhii的建议有效,这里有更多细节。
如果您查看安装的bin目录,您将看到catalina.sh 或.bat脚本。如果你看一下这些,你会看到他们跑了 setenv.sh或setenv.bat脚本分别(如果存在)设置环境变量。 相关的环境变量在评论中描述 catalina.sh/bat的顶部。要使用它们,请创建一个文件 $ CATALINA_HOME / bin / setenv.sh,内容
export JAVA_OPTS="-server -Xmx512m"
对于Windows,您需要在setenv.bat中使用类似
的内容set JAVA_OPTS=-server -Xmx768m
希望这有帮助, 格伦
答案 1 :(得分:24)
使用您想要修改的环境变量在tomcat / bin目录中创建一个setenv。(sh | bat)文件。
catalina脚本检查setenv脚本是否存在并运行它来设置环境变量。这样,您可以将参数更改为仅一个tomcat实例,并且更容易将其复制到另一个实例。
可能你的配置应用已经创建了setenv脚本,这就是为什么tomcat忽略了环境变量。
答案 2 :(得分:5)
使用CATALINA_OPTS
环境变量。
答案 3 :(得分:3)
我使用以下setenv.bat
内容:
==============setenv.bat============
set JAVA_OPTS=-XX:MaxPermSize=256m -Xms256M -Xmx768M -Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,address=7777,server=y,suspend=n %JAVA_OPTS%
====================================
它还可以调试并将调试端口设置为7777,并附加以前的JAVA_OPTS
内容。
答案 4 :(得分:3)
方便linux虚拟机;将全部系统内存的75%用于Tomcat。 YAY AWK。
放在“{tomcat} /bin/startup.sh”
的开头export CATALINA_OPTS="-Xmx`cat /proc/meminfo | grep MemTotal | awk '{ print $2*0.75 } '`k"
答案 5 :(得分:2)
只是要添加到上一个注释,用于更新Tomcat服务设置的命令行工具的文档(如果Tomcat作为Windows上的服务运行)是here。此工具使用正确的设置更新注册表。 因此,如果您想更新Tomcat服务的最大内存设置,您可以运行此命令(来自tomcat / bin目录),假设默认服务名称为Tomcat5:
tomcat5 //US//Tomcat5 --JvmMx=512
答案 6 :(得分:2)
我喜欢根据可用的服务器内存设置tomcat6内存的想法(这很酷,因为我不需要在硬件升级后更改设置)。这是我的(有点扩展的内存设置):
export CATALINA_OPTS =“ - Xmx
`cat /proc/meminfo | grep MemTotal | awk '{ print $2*0.75 } '`
k -Xms`cat /proc/meminfo | grep MemTotal | awk '{ print $2*0.75 } '`
k -XX:NewSize =`cat /proc/meminfo | grep MemTotal | awk '{ print $2*0.15 } '`
k -XX:MaxNewSize =`cat /proc/meminfo | grep MemTotal | awk '{ print $2*0.15 } '`
k -XX:PermSize =`cat /proc/meminfo | grep MemTotal | awk '{ print $2*0.15 } '`
k -XX:MaxPermSize =`cat /proc/meminfo | grep MemTotal | awk '{ print $2*0.15 } '`
k“
把它放到:“{tomcat} /bin/startup.sh”(例如Ubuntu 10.10的“/ usr / share / tomcat6 / bin”)
答案 7 :(得分:1)
不确定它是否适用于您的解决方案。但监控tomcat内存设置以及实际适用于我们的连接数等的唯一方法是Lambda Probe。
它显示了Tomcat调优所需的大部分信息。我们使用Tomcat 5.5和6.0进行了测试,尽管测试版状态和2006年底的最新更新日期仍然正常。
答案 8 :(得分:1)
如果您手动启动Tomcat(而不是服务),则可以使用CATALINA_OPTS环境变量。如果您将其作为服务启动,则设置可能存储在注册表中的某个位置。我在我的机器上安装了Tomcat 6,并在HKLM\SOFTWARE\Apache Software Foundation\Procrun 2.0\Tomcat6\Parameters\Java
键找到了设置。
答案 9 :(得分:1)
如果在Windows上运行Tomcat,则可以使用Tomcat附带的简洁“Tomcat Monitor”应用程序。
转到Java选项卡。在底部,在“Java Options”textarea下面,您将找到3个输入字段:
答案 10 :(得分:0)
只需编辑你的catalina / bin / startup.sh脚本。在其中添加以下命令:
#Adjust it to the size you want. Ignore the from bit.
export CATALINA_OPTS="-Xmx1024m"
#This should point to your catalina base directory
export CATALINA_BASE=/usr/local/tomcat
#This is only used if you editing the instance of your tomcat
/usr/share/tomcat6/bin/startup.sh
答案 11 :(得分:0)
在我的情况下,有一个/etc/sysconfig/tomcat5.conf文件覆盖了/etc/tomcat5/tomcat5.conf中的所有设置