Linux下Tomcat设置内存解决内存溢出

最近使用tomcat做服务器,项目中有个导入excel,数据大约2万左右。在本地eclipse调试导入没问题。

但是部署到linxu后就报 "http-bio-8080-exec-4" java.lang.OutOfMemoryError: PermGen space

然后看了下服务器状态,地址:http://ip:port/manager/status

显示如下(做了标注),明显属于PermGen OOM。

导入的excel每条就解析成一个对象,栈中生,堆中活,perm存不住。

 

调整 文件:~/bin/catalina.sh

JAVA_OPTS="-Djava.awt.headless=true -Dfile.encoding=UTF-8 -server -Xms1024m -Xmx2048m -XX:NewSize=512m -XX:MaxNewSize=1024m -XX:PermSize=512m -XX:MaxPermSize=512m"

 

重启,再看,噢啦,512M足够excel导入20万级别的造了。顺利完成

 

 

 

ps端口查看界面需要配置一些用户:

tomcat7配置管理员信息
 
1:打开tomcat7下的~/conf/tomcat-users.xml文件,关于用户角色、管理员的信息都在这个配置文件中。
 
2:在配置文件<tomcat-users>节点下添加如下xml

<role rolename="admin-gui"/> 

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

 

posted on 2017-06-17 16:49  MountainTop  阅读(11336)  评论(0编辑  收藏  举报

导航