centos修改系统可用内存_centos中修改tomcat中JVM非堆内存默认配置解决内存溢出

在CentOS 6.4上,由于部署的两个项目A、B同时运行时出现内存溢出错误,经排查发现是JVM非堆内存(PermGen space)不足。解决方案是在`/etc/tomcat6/tomcat6.conf`文件中添加`JAVA_OPTS`配置,设置`-XX:PermSize=512M -XX:MaxPermSize=1024m`,重启tomcat后问题得到解决。文章还介绍了JVM内存的堆和非堆概念,以及内存溢出的类型和处理方法。
摘要由CSDN通过智能技术生成

系统CentOS6.4下yum安装了tomcat6和jdk1.6,安装配置过程如下:

http://www.111cn.net/sys/CentOS/72007.htm

tomcat中部署两个项目A、B,同时部署时报内存溢出错误,系统CPU负载飙升,而单独部署A、B 和 只部署多个A或者只部署多个B项目系统运行正常。

查看日志报错:OutOfMemoryError: PermGen space….

查询资料得知:是非堆溢出(永久保存区域溢出)

这种错误常见在web服务器对JSP进行pre compile的时候。如果你的WEB APP下都用了大量的第三方jar, 其大小超过了jvm默认的大小(4M)那么就会产生此错误信息了。如果web app用了大量的第三方jar或者应用有太多的class文件而恰好MaxPermSize设置较小,超出了也会导致这块内存的占用过多造成溢出,或者tomcat热部署时侯不会清理前面加载的环境,只会将context更改为新部署的,非堆存的内容就会越来越多。

解决办法:修改JVM非堆内存默认大小

网上提供的方法是:

修改tomcat是bin目录下的catalina.sh文件中的配置,但是yum安装的tomcat此文件的内容为空,将配置项 JAVA_OPTS=” -XX:PermSize=512M -XX:MaxPermSize=1024m” 加进 catalina.sh文件,重启tomcat,无效。

搜索JAVA_OPTS字符串找到tomcat的配置文件位置

find  /etc  |xargs grep “JAVA_OPTS”

[root@AY14070314494954704eZ tomcat6]# find /etc |xargs grep "JAVA_OPTS"

/etc/tomcat6/tomcat6.conf:#JAVA_OPTS="-Xminf0.1 -Xmaxf0.3"

/etc/tomcat6/tomcat6.conf:# Use JAVA_OPTS to set java.library.path forlibtcnative.so/etc/tomcat6/tomcat6.conf:#JAVA_OPTS="-Djava.library.path=/usr/lib"

/etc/tomcat6/tomcat6.conf:JAVA_OPTS="${JAVA_OPTS} -Djavax.sql.DataSource.Factory=org.apache.commons.dbcp.BasicDataSourceFactory"在/etc/tomcat6/tomcat6.conf文件中加入

JAVA_OPTS=" -XX:PermSize=512M -XX:MaxPermSize=1024m"

重启tomcat 项目运行正常。

PS:具体设置大小可以根据物理内存和项目实际运行需求进行调整。

yum安装tomcat的默认路径:/usr/share/tomcat6/

其它相关路径如下:(供参考)

clipboard

…………………………………………………………………………………………..

Tomcat中JAVA JVM内存溢出及合理配置

Tomcat本身不能直接在计算机上运行,需要依赖于硬件基础之上的操作系统和一个Java虚拟机。Tomcat的内存溢出本质就是JVM内存溢出,所以在本文开始时,应该先对Java JVM有关内存方面的知识进行详细介绍。

一、Java JVM内存介绍

JVM管理两种类型的内存,堆和非堆。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值