linux tomcat内存 linux重启tomcat

大家好,如果您还对linux tomcat内存不太了解,没有关系,今天就由本站为大家分享linux tomcat内存的知识,包括linux重启tomcat的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!

linux中tomcat能加大内存吗

Tomcat默认可以使用的内存为128MB,在较大型的应用项目中,这点内存是不够的,需要调大。

Windows下,在文件/bin/catalina.bat,Unix下,在文件/bin/catalina.sh的前面,增加如下设置:

需要把这个两个参数值调大。例如:

表示初始化内存为256MB,可以使用的最大内存为512MB。

扩展知识:

如何设置Tomcat的JVM虚拟机内存大小

可以给Java虚拟机设置使用的内存,但是如果你的选择不对的话,虚拟机不会补偿。可通过命令行的方式改变虚拟机使用内存的大小。如下表所示有两个参数用来设置虚拟机使用内存的大小。

-Xms JVM初始化堆的大小

-Xmx JVM堆的最大值

这两个值的大小一般根据需要进行设置。初始化堆的大小执行了虚拟机在启动时向系统申请的内存的大小。一般而言,这个参数不重要。但是有的应用程序在大负载的情况下会急剧地占用更多的内存,此时这个参数就是显得非常重要,如果虚拟机启动时设置使用的内存比较小而在这种情况下有许多对象进行初始化,虚拟机就必须重复地增加内存来满足使用。由于这种原因,我们一般把-Xms和-Xmx设为一样大,而堆的最大值受限于系统使用的物理内存。

一般使用数据量较大的应用程序会使用持久对象,内存使用有可能迅速地增长。当应用程序需要的内存超出堆的最大值时虚拟机就会提示内存溢出,并且导致应用服务崩溃。因此一般建议堆的最大值设置为可用内存的最大值的80%。

tomcat最多能占多大内存

首先要说明的是占多大内存和tomcat本身没有关系

关键是要看使用的JDK版本

32位JDK,最大只能使用2G的内存(理论上),实际上由于操作系统、JDK版本的不同这个值可能在1.5G--2G之间,但2G是极限。

64位JDK,就目前而言你有多大的内存他都可以设置,理论上是2的64次方,就目前的硬件而言可以看作是无限大的

如何修改和查看tomcat内存大小

为了解决tomcat在进行大并发请求时,出现内存溢出的问题,请修改tomcat的内存大小,其中分为以下两种方式:

一、使用 catalina.bat等命令行方式运行的 tomcat

查看系统是否能支持所填最大内存命令:java-Xmx1024m-version,当所填值不合法时,执行该命令将报错

1、修改 tomcat\bin\Catalina.bat文件

windows环境下:

在166行左右

rem Execute Java with the applicable properties”以下每行

%_EXECJAVA%%JAVA_OPTS%%CATALINA_OPTS%%DEBUG_OPTS%-Djava.endorsed.dirs="%JAVA_ENDORSED_DIRS%"-classpath"%CLASSPATH%"-Dcatalina.base="%CATALINA_BASE%"-Dcatalina.home="%CATALINA_HOME%"-Djava.io.tmpdir="%CATALINA_TMPDIR%"%MAINCLASS%%CMD_LINE_ARGS%%ACTION%

在%DEBUG_OPTS%后面添加-Xms256m-Xmx512m

linux环境下:

打开在Tomcat的安装目录的bin文件的catalina.sh文件,进入编辑状态.

在注释后面加上如下脚本:

JAVA_OPTS='-Xms512m-Xmx1024m'

JAVA_OPTS="$JAVA_OPTS-server-XX:PermSize=64M-XX:MaxPermSize=256m"

其中 JAVA_OPTS='-Xms512m-Xmx1024m'是设置Tomcat使用的内存的大小.

-XX:PermSize=64M-XX:MaxPermSize=256m指定类空间(用于加载类)的内存大小

保存后,重新以命令行的方式运行 tomcat,即可,然后通过最后面介绍的如何观察tomcat现有内存情况的方法进行查看是否已经变更成功。

二、使用系统中的“服务”,或者开始菜单的可执行程序运行的tomcat

1、关闭现在正在运行的tomcat

2.1 [注意]

[高版本tomcat配置方法]

如果是tomcat 5.5或者是 5.0.28之后的版本,在 Java选项卡中,下方,会有

Inital memory Pool:

Maximum memory Pool:

Thread stack size:

三个输入框,在这里即可不用做上面的操作,直接配置内存大小,只需要设置

Inital memory Pool为 256

Maximum memory Pool为 512

点击确定后,重启tomcat生效

如果您是低版本的tomcat,发现没有上面那几个录入框,请看下面的操作步骤

[低版本tomcat配置方法]

在开始菜单中,找到“Apache Tomcat 5.0”,并选择“Configure Tomcat”,在弹出的对话框窗口中,切换到 Java VM选项卡,并在 Java Options输入框的最前面输入

-Xms256m-Xmx512m

即输入框中的内容会像下面的代码(与自己的环境有所区别)

-Xms256m-Xmx512m

-Dcatalina.home="C:\tomcat5"

-Djava.endorsed.dirs="C:\tomcat5\common\endorsed"

-Xrs

设置完后,点击“确定”,并重启tomcat即可。

三、查看现有tomcat的内存大小情况

1、启动tomcat

2、访问 ,并输入您在安装tomcat时输入的用户与口令,如 admin,密码 admin(密码是您在tomcat安装时输入的)

注:添加用户,修改conf/tomcat-users.xml

<?xml version='1.0' encoding='utf-8'?>

<tomcat-users>

<role rolename="tomcat"/>

<role rolename="role1"/>

<role rolename="manager"/>

<role rolename="admin"/>

<user username="tomcat" password="tomcat" roles="tomcat"/>

<user username="both" password="tomcat" roles="tomcat,role1"/>

<user username="role1" password="tomcat" roles="role1"/>

<user username="admin" password="admin" roles="admin,manager"/>

</tomcat-users>

3、进入了Server Status页面,可以在JVM表格中看到

Free memory: 241.80 MB Total memory: 254.06 MB Max memory: 508.06 MB

上面的文字即代表了,当前空闲内存、当前总内存、最大可使用内存三个数据。

确定了最大内存足够大时,tomcat即可正常运转

最后总结下内存设置中常用的几个参数

(1)-Xms,jvm启动时,初始分配的堆/栈内存

(2)-Xmx,JVM最大允许分配的堆/栈内存,按需分配

(3)-Xss,设定每个线程的堆栈大小

(4)-XX:PermSize,JVM初始分配的非堆内存

(5)-XX:MaxPermSize,JVM最大允许分配的非堆内存,按需分配

举例:

-Xms256m-Xms512m-XX:PermSize=64m-XX:MaxPermSize=128m

阅读剩余
THE END