当前位置:首页 > 内存 > 正文

tomcat设置内存大小

  • 内存
  • 2024-09-02 12:34:05
  • 746

一、tomcat默认值是128m,如何增加内存?
如果是启动,那么在顶部添加一行,setJAVA_OPTS=-Xms128m-Xmx256m ,值具体看一下要求。
如果使用tomcat服务启动,则需要分别编辑HKEY_LOCAL_MACHINE/SOFTWARE/ApacheSoftwareFountdation/Procrunmeters2.0/P中的Java JvmMs和JvmMx注册表。

二、如何调整Tomcat的虚拟JVM内存大小

JVM内存有几种类型

Windows下修改JVM内存大小:

情况一:对于未压缩版本的Tomcat,需要通过文件来运行Tomcat来加载配置

必须添加到Tomcat容器下的

remGuessCATALINA_HOMEifnotdefinition

setCURRENT_DIR=%cd%后添加,红色项是新添加的。

setJAVA_OPTS=-Xms256m-Xmx512m-XX:PermSize=128M-XX:MaxNewSize= 256m- XX:MaxPermSize=256m-Djava ss=true

情况二:安装的Tomcat版本中没有

Windows 服务执行 bin\。 读取注册表中的值,而不是设置。

修改注册表HKEY_LOCAL_MACHINE\SOFTWARE\ApacheSoftwareFoundation\TomcatServiceManager\Tomcat5\Parameters\JavaOptions

原来的值为

="C:\ApacheGroup\Tomcat5.0"

="C:\ApacheGroup\Tomcat5.0\common\endorsed"

>

-Xrs

添加-Xms300m-Xmx350m

重启Tomcat服务,设置生效

jvm参数说明:

-应该使用Server作为第一个参数,启用服务器版本的JDK,在使用多CPU时有良好的性能

-初始大小XmsjavaHeap。 默认为物理内存的 1/64。

-Xmxjavaheap 的最大值。 建议设置为物理内存的80%。 它不能超过物理内存。

-Xmnjavaheap的最小值,一般设置为Xmx的3或1/4。

-XX:PermSize 设置永久内存存储空间的初始大小。 默认值为 64M。

-XX:MaxPermSize 设置永久内存存储空间的最大大小。 默认值为 64M。

-XX:SurvivorRatio=2Survivor池大小,默认为2。例如,

-XX:NewSize是新创建的池的初始大小。 默认值为 2M。

-XX:MaxNewSize是新创建的池的最大大小。 默认值为 32M。

+XX:AggressiveHeap让jvm忽略Xmx参数,疯狂消耗1G的物理内存,然后吃掉1G的swap。

-Xss 每个线程的堆栈大小

-verbose:gc 实际的垃圾收集信息

-Xloggc: 指定的垃圾收集日志文件

-XX:+UseParNewGC 缩短二次编译时间

-XX:+UseConcMarkSweepGC 缩短主编译时间

-XX: userParNewGC 可用于设置并行集群(多CPU)

-XX:可使用ParallelGCThreads 增加并行度(多CPU)

-XX:可使用ParallelGC准备后用于使用并行池扫描(CPU 多中心化)


三、如何修改和减少tomcat内存大小

为解决tomcat发出大请求时内存溢出的问题,请调整tomcat分配内存的大小。 有以下两种方式:

1. Xmx1024m-version,当填写的值非法时,执行该命令时会报错

1. 环境:

第166行左右

remExecuteJava withtheapplicable properties"

%_EXECJAVA%%JAVA_OPTS%%CATALINA_OPTS%%DEBUG_OPTS%=" %JAVA_ENDORSED_DIRS%"-classpath"%CLASSPATH%"="%CATALINA_BASE%"="%CATALINA_HOME%"="%CATALINA_TMPDIR%"%MAINCLASS%%CMD_LINE_ARGS%% ACTION%

%DEBUG_OPTS%后添加-Xms256m-Xmx512m

Linux环境下:

打开Tomcat安装中的文件bin文件,进入状态编辑。

在此脚本中添加注释:

JAVA_OPTS='-Xms512m-Xmx1024m'

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

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

-XX:PermSize =64M-XX :MaxPermSize=56m 指定类空间的类型(用于加载类)

保存后通过命令行再次运行,然后检查更改是否已成功保存。 tomcat现有的内存状态在最后介绍。

1。 .5 或 5.0.28 之后的版本,在 Javat 选项卡中,下面会出现三个条目:

InitalmemoryPool:

MaximummemoryPool:

Threadstacksize:

Threadstacksize:

p >

我们不需要在这里这样做。 MaximummemoryPool改为512

工作正常,重启tomcat即可生效

如果你的Torncat版本较低,发现上面没有输入框,你会看到步骤如下

【低版本tomcat配置方法】

在开始菜单中,你会找到“ApacheTomcat5.0”和“ConfigureTomcat”。 ”。在对话框弹出窗口中,切换到JavaVM选项卡,并将其放在JavaOptions输入框前面。输入

-Xms256m-Xmx512m

即内容输入框中的代码如下(与自己的环境不同

-Xms256m-Xmx512m

="C:\tomcat5"

=" C:\tomcat5\common\endosed"

- Xrs

3.8080/administrator/status,是你安装tomcat时输入的用户和密码,比如admin,是你安装tomcat时的密码

注:添加用户并更改conf/

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

3. 进入ServerStatus页面,可以在JVM表中看到

Freememory:241.80MBTotalmemory : 254.06MBMaxmemory:508.06MB

上面的文字显示了最近空闲内存、当前内存这三个数据总内存和最大可用内存。

当确定最大内存足够大时,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< /p>

p


四、Linux下Tomcat内存可以增加吗?

Tomcat默认可以使用128MB,在大型应用项目中这个内存是不够的,需要增加。

在Windows下,在文件/bin/中,在Unix下,在文件/bin/前面,添加以下设置:

您需要做这个。 更改这两个参数并添加值。 例如:

表示初始内存为256MB,最大内存为512MB。

扩展知识:

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

可以设置Java虚拟机使用的内存量,但如果你的选择错误,虚拟机将不会得到补偿。 您可以在命令行上更改虚拟机使用的内存量。 如下表所示,有两个参数可以设置虚拟机使用的内存量。 奇志

-XmsJVM初始化堆大小

-XmxJVM堆最大绝对值

这两个值的大小一般根据需要来设置。 初始堆大小决定了虚拟机启动时应用于系统的内存量。 一般来说,这个参数不是必需的。 但是有些应用程序在重负载的情况下占用的内存较多,这个参数意味着虚拟机启动时使用的内存比较小,这种情况下会启动很多东西。 为了满足使用,机器不得不经常增加内存。 为此,我们一般将-Xms和-Xmx设置为相同大小,最大堆栈大小受系统使用的物理内存限制。

一般来说,消耗大量数据的应用程序使用持久对象,内存使用量会快速增长。 当应用程序所需的内存超过最大阈值时,虚拟机将需要过多的内存,从而导致应用程序服务崩溃。 因此,一般建议最大堆大小配置为最大内存的80%。