整理常用的tomcat配置

常用的tomcat配置
1.tomcat内存溢出的情况
java.lang.OutOfMemoryError: PermGen space(永久保存区域内存溢出)
java.lang.OutOfMemoryError: Java heap space(java堆内存溢出)
这类问题,需要分两种情况解决,第一种情况在linux下,我们需要修改的文件是tomcat的bin目录下的catalina.sh文件,添加代码
JAVA_OPTS='-server -Xms512m -Xmx1024m -XX:PermSize=512M -XX:MaxNewSize=512m -XX:MaxPermSize=512m',放到文件最上面即可
第二种情况在window下,我们需要修改的文件是tomcat的bin目录下的catalina.bat文件,添加代码
set JAVA_OPTS=-server -Xms512m -Xmx1024m -XX:PermSize=512m -XX:MaxPermSize=512m,放到

文件最上面即可
上面的配置基本上可以解决大部分程序的堆栈内存溢出问题,当然也不排除小伙伴的程序所需栈内存超大或是程序里面引入了超多的第三方

jar文件导致堆溢出,所以我们要了解一下上述配置的意义,以方便调整内存大小来适应我们的程序。
-server:一定要作为第一个参数,在多个CPU时性能佳
-Xms:初始堆内存大小,使用的最小内存,cpu性能高时此值应设的大一些
-Xmx:java 堆内存最大值
-XX:PermSize:设定内存的永久保存区域
-XX:MaxPermSize:设定最大内存的永久保存区域
如果我们设置完后,重启tomcat,发现还是内存溢出,怎么办,你可能尝试着把内存设大点,但是往往不起什么作用,很有可能是我们的设置没生效,如何看看tomcat真实的内存,请看下一个配置项
2.如果你想监控tomcat的堆内存使用情况,请按如下配置
我们需要修改的文件是tomcat的conf目录下的tomcat-users.xml文件,在最后一行</tomcat-users>这个标签的上面添加
<user username="admin" password="admin" roles="admin,manager"/>,然后重启tomcat,访问tomcat目录,如果你没有改过端口的话
http://localhost:8080/,然后点击左侧Tomcat Manager,会弹出登录页面,用admin/admin登录进去,点击Server Status ,然后就可以查看前空闲的内存,内存总量,和最大内存了,如果发现和你在catalina文件里面配置的不符合,那就是没生效,(会用一些出入,差个几兆,但是你配置的是256M,而显示的是26.96M,那就是配置没生效了),对于配置没生效的情况,解决办法就是在编译其中去配置,因为我最近发现我的eclipse默认是不用tomcat配置的。
有的人还想看tomcat永久保存区域内存的使用情况,建议使用java自带的工具jvisualvm
3.如果你想更改tomcat的启动端口,或是发现程序请求乱码,那么你可以考虑该这个地方
我们需要修改的文件是tomcat的conf目录下的server.xml文件,大概在文件的63行左右,你会发现类似如下的配置,
<Connector URIEncoding="UTF-8" connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>,
tomcat默认是没有URIEncoding="UTF-8",你可以配置上看看乱码问题解决没有,改启动端口可以改这个配置项port="8080"

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值