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 "/>

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM