其初始空间(即-Xms)是物理内存的1/64,最大空间(-Xmx)是物理内存的1/4。可以利用JVM提供的-Xmn -Xms -Xmx等选项可
进行设置
三、实例,以下给出1G内存环境下java jvm 的参数设置参考:
JAVA_OPTS="-server -Xms800m -Xmx800m -XX:PermSize=64M -XX:MaxNewSize=256m -XX:MaxPermSize=128m -Djava.awt.headless=true "
JAVA_OPTS="-server -Xms768m -Xmx768m -XX:PermSize=128m -XX:MaxPermSize=256m -XX:
NewSize=192m -XX:MaxNewSize=384m"
CATALINA_OPTS="-server -Xms768m -Xmx768m -XX:PermSize=128m -XX:MaxPermSize=256m
-XX:NewSize=192m -XX:MaxNewSize=384m"
Linux:
在/usr/local/apache-tomcat-5.5.23/bin目录下的catalina.sh
添加:JAVA_OPTS='-Xms512m -Xmx1024m'
要加“m”说明是MB,否则就是KB了,在启动tomcat时会报内存不足。
-Xms:初始值
-Xmx:最大值
-Xmn:最小值
Windows
在catalina.bat最前面加入
set JAVA_OPTS=-Xms128m -Xmx350m
如果用startup.bat启动tomcat,OK设置生效.够成功的分配200M内存.
但是如果不是执行startup.bat启动tomcat而是利用windows的系统服务启动tomcat服务,上面的设置就不生效了,
就是说set JAVA_OPTS=-Xms128m -Xmx350m 没起作用.上面分配200M内存就OOM了..
windows服务执行的是bin\tomcat.exe.他读取注册表中的值,而不是catalina.bat的设置.
解决办法:
修改注册表HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Tomcat Service Manager\Tomcat5\Parameters\JavaOptions
原值为
-Dcatalina.home="C:\ApacheGroup\Tomcat 5.0"
-Djava.endorsed.dirs="C:\ApacheGroup\Tomcat 5.0\common\endorsed"
-Xrs
加入 -Xms300m -Xmx350m
重起tomcat服务,设置生效
tomcat作为windows服务的参数配置,特别是PermSize的设置
当tomcat用startup.bat启动的时候的参数设置网上说的比较多,这里就不再描述。
当tomcat作为windows 的系统服务的时候,网上找了很多相关的文章,都没有比较全面的参数设置方法,一般就说明了一下xms和xmx的设置,都没有提供其他方面参数的说明,不够 实用。经过对apache下的procrun的研究和多次试用,总算清楚了一般参数的设置方法。其实 tomcat5.exe本身已经包含有procrun的功能,这就是很多人在网上找不到procrun.exe文件下载的原因。
procrun可以参考:http://commons.apache.org/daemon/procrun.html
注:这里用tomcat5作为例子,应该同样适用于tomcat6.
这里不使用注册表,我们用tomcat提供的gui工具来设置。
1、在命令行下执行:tomcat5w.exe //ES//TomcatService
其中,TomcatService就是你加入windows服务的名称。这样,在windows的任务栏就会出现一个tomcat的服务管理器,图标如下
。
2、打开tomcat服务管理器的java页,如
在Java Options里面输入需要设置的参数,如设置permsize的内存
-XX:PermSize=64M
-XX:MaxPermSize=192m
-XX:ReservedCodeCacheSize=48m
-Duser.timezone=GMT+08
注:每一行后面都不能有空格。
同样,我们也可以在注册表中进行修改,HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Procrun 2.0\TestService\Parameters\Java
内存改好后,可以登陆tomcat-->status查看 JVM.
在程序中如果想查看内存,可以使用下面这几句:
Java代码
System.out.println(
"TotalMemory :::: "
+ (Runtime.getRuntime().totalMemory()/(
1024
*
1024
) +
"M"
));
System.out.println(
"Max Memory :::: "
+ (Runtime.getRuntime().maxMemory()/(
1024
*
1024
) +
"M"
));
System.out.println(
"Free Memory :::: "
+ (Runtime.getRuntime().freeMemory()/(
1024
*
1024
) +
"M"
));
其初始空间(即-Xms)是物理内存的1/64,最大空间(-Xmx)是物理内存的1/4。可以利用JVM提供的-Xmn -Xms -Xmx等选项可进行设置 三、实例,以下给出1G内存环境下java jvm 的参数设置参考: JAVA_OPTS="-server -Xms800m -Xmx800m -XX:PermSize=64M -XX:MaxNewSize=256m -XX:M
在
tomcat
_home/bin目录下找到catalina.bat,用文本编辑器打开,加上下面一行:
set JAVA_OPTS= -Xms1024M -Xmx1024M -XX:PermSize=256M -XX:MaxNewSize=256M -XX:MaxPermSize=256M
解释一下各个
参数
:
-Xms1024M:初始化堆..
变量
参数
:-Xmx700M -XX:MaxPermSize=300M
2.在使用startup.bat
启动
a>编辑startup.bat加入:set JAVA_OPTS=-Xmx700M -XX:MaxPermSize=300M
如下图所示
3.以service方式
启动
【原帖地址】http://blog.csdn.net/u013980127/article/details/53913994
【重新
设置
的原因】最近在阿里云的服务器老是 outOfMemory导致宕机。。。
【1----生产机器8G
内存
】
Tomcat
7 catalina.sh(只运行一个
Tomcat
)
# 8G
内存
JAVA_OPTS="
-Dfile.encoding=U
2. 在catalina.sh文件中找到以下代码:
# ----- Execute The Requested Command -----------------------------------------
# $1 = ( as passed ) the command to execute
# $2 = ( as passed ) the command arguments
# $3 = ( derived ) the Catalina home directory
# $4 = ( derived ) the Catalina base directory
# $5 = ( derived ) the Java command to use to start the JVM
# $6 = ( derived ) the Java options to use when starting the JVM
# $7 = ( derived ) the Java classpath
# $8 = ( derived ) the Java library path
# $9 = ( derived ) the Java endorsed directory path
# $10 = ( derived ) the Java extended directory path
# Execute the command
exec "$_RUNJAVA" "$@"
这是执行
Tomcat
命令的代码段。
3. 在这段代码的上面添加以下代码:
# ----- Set
Tomcat
Home and Base Directories -----------------------------------
CATALINA_HOME=/usr/local/
tomcat
CATALINA_BASE=/usr/local/
tomcat
export CATALINA_HOME CATALINA_BASE
这是
设置
Tomcat
的Home和Base目录的代码段。
4. 保存catalina.sh文件。
5. 打开/etc/rc.local文件,添加以下代码:
su -
tomcat
-c "/usr/local/
tomcat
/bin/startup.sh"
这是在系统
启动
时自动
启动
Tomcat
的代码段。
6. 保存/etc/rc.local文件。
7. 重启系统,
Tomcat
将自动
启动
。
以上就是在Linux上
设置
Tomcat
开机
启动
的步骤。
### 回答2:
Linux是一款开源的操作系统,
Tomcat
是一个非常流行的基于Java语言的Web应用程序服务器。在Linux上
设置
Tomcat
开机
启动
可以帮助我们更加方便地管理服务器,使得
Tomcat
在服务器
启动
时自动
启动
,而不需要手动
启动
。本文将介绍在Linux上
设置
Tomcat
的开机
启动
。
第一步:
设置
Tomcat
启动
脚本
要在Linux上
设置
Tomcat
开机
启动
,我们需要编写一个
启动
脚本来自动
启动
Tomcat
。在
Tomcat
的bin目录下,有一个叫做catalina.sh的
启动
脚本,我们可以根据需要适当地修改它,使其适合我们的环境。比如,在catalina.sh中添加一些
启动
参数
,以便我们更好地管理
Tomcat
。
第二步:将
Tomcat
启动
脚本添加到
启动
项
要使
Tomcat
在
启动
时自动
启动
,我们需要将
Tomcat
的
启动
脚本添加到
启动
项中。我们可以使用chkconfig命令来添加
启动
项。首先,我们需要检查
Tomcat
的
启动
脚本是否可以被chkconfig命令识别。运行以下命令:
chkconfig --add $CATALINA_HOME/bin/catalina.sh
其中$CATALINA_HOME是
Tomcat
的安装路径。此命令将
Tomcat
的
启动
脚本添加到
启动
项中,并分配默认的运行级别。
第三步:
设置
启动
级别
运行级别是操作系统的不同状态,它规定了哪些服务和程序在系统
启动
时自动
启动
。Linux上有七个运行级别,分别为0-6。我们需要选择
Tomcat
需要运行的运行级别,并将
Tomcat
的
启动
脚本添加到该运行级别中。我们可以使用以下命令为
Tomcat
设置
运行级别:
chkconfig --level 345
tomcat
on
这里,我们将
Tomcat
设置
为在运行级别3、4和5下自动
启动
。通过指定运行级别来修改
Tomcat
启动
项,可以确保
Tomcat
在系统
启动
时自动
启动
,而且只在我们需要的运行级别中
启动
。
要在Linux上
设置
Tomcat
开机
启动
,我们需要编写一个
启动
脚本并将其添加到
启动
项中。使用chkconfig命令可以很方便地完成这一任务,并确保
Tomcat
在系统
启动
时自动运行。通过逐一执行以上三个步骤,我们可以轻松地
设置
Tomcat
的开机
启动
。
### 回答3:
在 Linux 系统中,我们可以通过
设置
Tomcat
的开机
启动
来方便地管理和维护应用程序。下面我们来介绍一下具体的操作步骤。
第一步:打开终端,并输入以下命令进行安装和配置:
sudo apt-get update
sudo apt-get install
tomcat
8
sudo update-rc.d
tomcat
8 defaults
其中,第一个命令是更新软件包列表;第二个命令是安装
Tomcat
8;第三个命令是
设置
Tomcat
8 开机自
启动
。
第二步:打开 Apache
Tomcat
服务器配置文件。
sudo nano /etc/default/
tomcat
8
第三步:编辑配置文件,找到以下代码:
# Run
Tomcat
as this user ID. Not setting this or leaving it blank will use the
# default of
tomcat
8.
TOMCAT
8_USER=
tomcat
8
将其修改为:
# Run
Tomcat
as this user ID. Not setting this or leaving it blank will use the
# default of
tomcat
8.
TOMCAT
8_USER=root
这便是
设置
Tomcat
8 为开机自
启动
的关键步骤。
第四步:编辑
Tomcat
8 的
启动
脚本。
sudo nano /etc/init.d/
tomcat
8
找到以下代码:
# Provides: ${name}
# Required-Start: $local_fs $remote_fs $network
# Required-Stop: $local_fs $remote_fs $network
# Should-Start: $named
# Should-Stop: $named
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start
Tomcat
.
# Description: Start the
Tomcat
servlet engine.
将其中的 “Default-Start” 和 “Default-Stop” 修改为 “Default-Start: 2 3 4 5” 和 “Default-Stop: 0 1 6” 即可。
第五步:保存并退出编辑。
第六步:重新
启动
服务器。
sudo /etc/init.d/
tomcat
8 restart
现在,
Tomcat
8 将会自动
启动
,无需手动
启动
了!
设置
Tomcat
的开机
启动
,可以方便我们在服务器重启之后,自动将
Tomcat
启动
,省去手动
启动
的麻烦。上述操作步骤,较为简单并且易于理解,希望对读者有所帮助!