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