TOMCAT运行时OOM解决
来源:互联网 发布:美国公务员 知乎 编辑:程序博客网 时间:2024/06/07 03:05
统计分析系统因为内部系统,访问量不是太高,一直都是完成功能,没有对TOMCAT的配置关注过,直到最近发生了如下的报错:
Exception in thread "http-bio-8080-Acceptor-0" java.lang.OutOfMemoryError: Java heap space
Exception in thread "ContainerBackgroundProcessor[StandardEngine[Catalina]]" java.lang.OutOfMemoryError: Java heap space
决定抽点时间,把TOMCAT的配置调整一下。
1、${TOMCAT_HOME}/bin/catalina.sh
找到 “# Copy CATALINA_BASE from CATALINA_HOME if not already set” 在下面添加如下
JAVA_OPTS=-Xms1024m -Xmx4096m -XX:PermSize=128m -XX:MaxPermSize=256m
参数说明:
-Xms:初始Heap大小,使用的最小内存,cpu性能高时此值应设的大一些
-Xmn:最小值
-Xmx:java heap最大值,使用的最大内存
上面三个值是分配JVM的初始大小,最小和最大内存,取决于硬件物理内存的大小,建议均设为物理内存的一半。Heap Size 最大不要超过可用物理内存的80%,一般的要将-Xms和-Xmx选项设置为相同堆内存分配 (访问量比较大时设为一致)
-Xss:线程内存的大小,jdk5.0以后可以不用设置;设置每个线程的堆栈大小。JDK5.0以后每个线程堆栈大小为1M,以前每个线程堆栈大小为256K;
-XX:PermSize:设定初始的内存的永久保存区域, 指定类空间(用于加载类)的内存大小
-XX:MaxPermSize:设定最大内存的永久保存区域
2、${TOMCAT_HOME}/conf/server.xml
<Executor name="tomcatThreadPool" namePrefix="catalina-exec-" maxThreads="300" minSpareThreads="200" />
<Connector executor="tomcatThreadPool"
port="80" protocol="HTTP/1.1"
connectionTimeout="20000" enableLookups="false"
redirectPort="8443" URIEncoding="UTF-8" acceptCount="1000" />
加大maxThreads、acceptCount 两个参数可以更好的支持并发;
- TOMCAT运行时OOM解决
- myeclipse tomcat 运行项目报OOM
- 解决tomcat放多个项目之后报OOM
- 一次tomcat OOM的情况解决
- tomcat 运行时内存溢出解决
- OOM解决
- 解决Tomcat运行内存不足问题
- eclipse运行jsp时tomcat服务器报错解决
- 解决listview刷新item时的OOM
- 解决tomcat运行慢的问题
- 解决tomcat运行慢的问题
- 解决运行Tomcat,报accept2的错误
- tomcat运行出错,请问这个问题怎么解决?
- 解决tomcat运行闪退问题
- 解决bitmap oom
- 解决oom问题
- 图片缩放,解决oom
- 图片缩放,解决OOM
- Android Jmail 发送邮件
- SQL基本查询小结
- java基础——Java对象的序列化与反序列化
- [USACO NOV06 GOLD]block 路障(Spfa)
- js中的数据类型和typeof
- TOMCAT运行时OOM解决
- 【动态代理】——cglib与jdk动态代理
- 【Java】IO整理之常用流使用简例
- service基本用法。看这就够了
- 使用浏览器调试服务器端返回的无法调试的JavaScript脚本
- 这是我见过最简单理解NIO的文章了
- Mac 安装mysql数据库后如何初始化root密码
- C++常用字符串分割方法实例汇总
- 设置Android Studio启动时打开欢迎界面(选择最近打开过的工程)