tomcat调整jvm内存大小

解压版TOMCAT

1.tomcat中webapps下面有manager项目的时候可以查看虚拟机内存使用情况

    ①修改/conf/tomcat-users.xml


<tomcat-users>
  <role rolename="tomcat"/>
  <role rolename="role1"/>
  <role rolename="manager-gui"/>
  <user username="admin" password="admin" roles="manager-gui"/>
  <user username="tomcat" password="tomcat" roles="tomcat"/>
  <user username="both" password="tomcat" roles="tomcat,role1"/>
  <user username="role1" password="tomcat" roles="role1"/>
</tomcat-users>

    ②浏览器输入网址:http://ip:port/manager/status  帐号/密码:admin/admin登录

      

 

   ③修改方式,打开apache-tomcat-6.0.37\bin\catalina.bat文件(不宜过大,根据服务器内存大小适量配置)

        增大堆内存

        

        增大非堆内存

        

 

安装版TOMCAT

https://blog.csdn.net/tonywuke/article/details/53996479

******************linux版本的tomcat**********************

在catalina.sh文件中,找到cygwin=false,在这一行的前面加入参数,具体如下
# vi TOMCAT_HOME/bin/catalina.sh
JAVA_OPTS="-server -Xms800m -Xmx800m -XX:PermSize=256m -XX:MaxPermSize=512m -XX:MaxNewSize=512m"

Tomcat服务器通常使用JVM (Java Virtual Machine) 来运行,内存配置对于它的性能至关重要。主要有以下几个方面的设置: 1. **JVM堆内存**(Heap Memory):这是Java应用的主要内存区域,用于存放对象实例。通过`-Xms`和`-Xmx`命令行参数设置初始堆大小(最小值)和最大堆大小(最大值)。例如:`-Xms512m -Xmx1024m`,分别表示初始512MB和最大1GB。 2. **非堆内存**(Non-heap Memory):包括常量池、元数据区和线程上下文类加载器等。这部分内存不会自动调整,需要手动配置,如`-XX:PermSize`(永久代大小)和`-XX:MaxPermSize`。 3. **年轻代**(Young Generation):包括Eden空间、Survivor Space和Tenured Generation,主要用于对象的创建和回收。可以设置为固定大小或分段,如`-XX:NewRatio`用于eden/survivor的比例。 4. **老年代**(Old Generation):长期存活的对象会被移入这里,设置`-XX:MetaspaceSize`限制元数据区域大小,避免溢出。 5. **持久化缓存**(如果启用了持久连接):Tomcat会分配额外的内存用于存储连接信息,这可以通过`org.apache.tomcat.util.http.fileupload.FileUploadSupport.MAX_FILE_SIZE`控制。 6. **JVM内存溢出监控**:可以启用JVM的堆转储日志(`-XX:+HeapDumpOnOutOfMemoryError`),以便在发生内存溢出时生成堆转储文件供分析。 为了保证稳定性和性能,建议根据实际应用需求和资源情况,通过监控工具(如VisualVM、JConsole等)动态调整这些配置。记得定期检查日志以诊断潜在的问题。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值