修改 tomcat 内存
在Jetty 的VM参数中设置:
-Xms256m -Xmx512m -XX:MaxNewSize=256m -XX:MaxPermSize=256m
在tomcat运行环境中设置:
window环境 startup.bat第一行
SET CATALINA_OPTS= -Xms256m -Xmx512m -XX:MaxNewSize=256m -XX:MaxPermSize=256m
linux环境在catalina.sh
在
"if [ $have_tty -eq 1 ]; then"之后增加
JAVA_OPTS="-server -Xms256m -Xmx1024m -XX:PermSize=128m -XX:MaxPermSize=256m"
1、对于安装版的TOMCAT:
进入TOMCAT的安装目录下的bin目录,双击tomcat6w.exe。点击Java选项卡,可设置初始化内存,最大内存,线程的内存大小。
初始化内存:如果机器的内存足够大,可以直接将初始化内存设置为512M,如果机器内存较小可适当调小,对于运行了EJB的应用,最好不要低于128M。
最大内存:最大内存目前设置为512M.
线程内存大小:目前配置为1024KB,这也是JDK5.0后的默认配置。
对于容器下运行了多个WEB应用时,尽量将相同的JAR包转移到TOMCAT的lib下,此外还需要在JAVA OPTIONS加上如下配置:
-XX:PermSize=16m
-XX:MaxPermSize=128m
此配置表示JAVA永久保存区域(即不会被虚拟机回收)初始大小为16M,最大为128M。
2、对于解压版的TOMCAT:
如果是WINDOWS操作系统,修改catalina.bat文件;否则修改catalina.sh文件。只需要在文件的头部加上"set JAVA_OPTS=-Xms512m -Xmx512m -Xss1024k”,数值分别对应了初始化的最小内存,最大内存,线程内存大小。如果JDK的版本是5.0之后的,线程内存可以不用设置。
3、linux系统下修改方法
在/usr/local/apache-tomcat-5.5.23/bin目录下的catalina.sh
添加:JAVA_OPTS=’-Xms512m -Xmx1024m’
要加“m”说明是MB,否则就是KB了,在启动tomcat时会报内存不足。
-Xms:初始值
-Xmx:最大值
-Xmn:最小值
对于容器下运行了多个WEB应用时,尽量将相同的JAR包转移到TOMCAT的lib下,此外还需要在JAVA OPTS后加上如下配置:
-XX:PermSize=16m -XX:MaxPermSize=128m
即为:JAVA_OPTS=’-Xms256m –Xmx512m -XX:PermSize=128m -XX:MaxPermSize=512m’
此配置表示JAVA永久保存区域(即不会被虚拟机回收)初始大小为16M,最大为128M。
修改内存后,可启动TOMCAT,输入http://127.0.0.1:8080,进入Status,会提示输入登录的用户名和密码,用户可以在conf/tomcat-user.xml中配置(配置完后需要重启TOMCAT),
1 |
<?xmlversion='1.0'encoding='utf-8'?> |
|
2 |
<tomcat-users> |
3 |
<rolerolename="manager"/> |
|
4 |
<userusername="tomcat"password="s3cret"roles="manager"/> |
5 |
</tomcat-users> |
登录后即可看到TOMCAT当前的空闲内存和最大内存。
tomcat报Exception in thread "http-8080-36" java.lang.OutOfMemoryError: PermGen space异常的解决:
PermGen space的全称是Permanent Generation space,是指内存的永久保存区域,
这块内存主要是被JVM存放Class和Meta信息的,Class在被Loader时就会被放到PermGen space中,
它和存放类实例(Instance)的Heap区域不同,GC(Garbage Collection)不会在主程序运行期对
PermGen space进行清理,所以如果你的应用中有很多CLASS的话,就很可能出现PermGen space错误,
这种错误常见在web服务器对JSP进行pre compile的时候。如果你的WEB APP下都用了大量的第三方jar, 其大小
超过了jvm默认的大小(4M)那么就会产生此错误信息了。
解决方法: 手动设置MaxPermSize大小
修改TOMCAT_HOME/bin/catalina.sh
在“echo "Using CATALINA_BASE: $CATALINA_BASE"”上面加入以下行:
JAVA_OPTS="-server -XX:PermSize=128m -XX:MaxPermSize=256m”
建议:将相同的第三方jar文件移置到tomcat/shared/lib目录下,这样可以达到减少jar 文档重复占用内存的目的。
修改 tomcat 内存的更多相关文章
- linux下修改tomcat内存大小
转载自:http://blog.sina.com.cn/s/blog_7fb5109d0101o49a.html 1. 出现此问题的原因: 在tomcat中发布了多个webapp引用,每 ...
- 修改Tomcat内存大小
Windows下,在文件/bin/catalina.bat,Linux下,在文件/bin/catalina.sh的前面,增加如下设置: JAVA_OPTS=-Xms[初始化内存大小] -Xmx[可以使 ...
- Linux下修改tomcat内存
由于服务器上放的tomcat太多,造成内存溢出. 常见的内存溢出有以下两种: java.lang.OutOfMemoryError: PermGen space java.lang.OutOfMemo ...
- Linux和windows下修改tomcat内存
原文地址:https://www.cnblogs.com/wdpnodecodes/p/8036333.html 由于服务器上放的tomcat太多,造成内存溢出. 常见的内存溢出有以下两种: java ...
- tomcat在win10系统中安装失败的问题,修改tomcat内存
自己以前在其他系统上安装tomcat服务都没有问题,但是在win10系统上安装就经常出现问题,自己总结了一下安装步骤: 1.首先需要配置环境变量, CATALINA_HOME 2.修改service. ...
- tomcat修改jvm内存
内存大小:-Xms256M -Xmx512M -XX:PermSize=256m -XX:MaxNewSize=256m -XX:MaxPermSize=512m -Djava.awt.headles ...
- 增加eclipse启动的Tomcat内存的方法 tomcat内存增加
增加eclipse启动的Tomcat内存的方法 Tomcat一般默认情况下最大最优内存设置为2G 这种情况下,修改Tomcat\bin\catalina.bat,添加如下内容 set JAVA_OPT ...
- Tomcat 内存设置
大型项目或者使用了SSH 的话, Tomcat 可能会报 java.lang.OutOfmemoryError: PermGen Space Windows: 在 bin/catlina.bat 最上 ...
- Linux 下修改Tomcat使用的JVM内存大小
我的服务器的配置: # OS specific support. $var _must_ be set to either true or false. JAVA_OPTS="-Xms10 ...
随机推荐
- C++#define的用法(含特殊)
1 无参宏定义无参宏的宏名后不带参数.其定义的一般形式为: #define 标识符 字符串其中的“#”表示这是一条预处理命令.凡是以“#”开头的均为预处理命令.“define”为宏定义命令.“标 ...
- linux 系统分区方案建议
前言: 以前初识Linux时,对Linux系统安装时分区的选择,一点都不了解,导致几次没法进行下一步安装,因此就静下心来,专门拿出时间研究了研究这方面的知识: 以下内容就是以前通过研究Linux安装过 ...
- 多主一从mysql replication同步表的大胆尝试.
能否将不同机器上的不同库中的表同步到同一个机器的同一个库中?表是不同的.而且对于slave这台机子来说,这些表只用来读. 同步不同库的表很简单了,用 replicate-do-table=db_n ...
- sed高级命令
所谓高级,主要是指这里将要提到的命令都能改变sed执行或者控制的流程顺序(sed通常都是一行被读入模式空间,并用脚本中的sed命令一个接一个的应用于那一行). 高级sed命令分成3个组: 1)处理多行 ...
- React 从0开始 消息传递
React笔记 React 数据决定DOM 以往的做法是通过JS去操作DOM 将数据填充 JSX Jsx javascript xml HTML的结构组装到js中 jsx使用style的时候 不能直接 ...
- J2SE知识点摘记(二)
1. 对象的声明 "类名 对象名 = new 类名();"例子:Person P;//先声明一个Person类的对象p p=new Person();//用new关键字实例化 ...
- 各种HelloWorld
http://blog.csdn.net/whxaing2011/article/details/20736759 ES总结: http://www.cnblogs.com/sunxucool/p/3 ...
- HttpContext.Current.Cache 过期时间
原文:HttpContext.Current.Cache 过期时间 为了更快的读取数据,我们一般会把常用到的数据加载到Cache中 在.NET中,Cache的存在可以依赖多中方式,主要用到HttpCo ...
- 2015-01-15百度地图API 新海量点
整理一下昨天写的百度地图 项目最开始写了一个百度地图,但是速度那慢的简直了 所以昨天将百度地图API的海量点 写了一下 1秒啊 o.o 厉害 OK 记下 此乃需要的js <!--添加百度地图- ...
- NET 人民币大写
/***** HongShijin** Me@HongShijin.com** 2009-3-15 10:13:00.00000** text/C#***/ /// <summary> / ...