在進行大數據量操作的時候,經常會出現內存溢出的錯誤,如圖:
處理方法是設置TOMCAT的內存大小,如圖
Tomcat是目前應用十分廣泛的一個Java servlet container與web服務器,但java.lang.OutOfMemoryError與
java
.
lang
.
OutOfMemoryError
:
Perm
Gen space的異常相信真正用過tomcat的人都遇到過(用戶量大,應用使用頻繁等),這個異常和JVM默認劃分的內存上限是128M有關,如果你的業務足夠繁忙,128M是遠遠不夠的,所以你可以給JVM分配上1G甚至更多,這樣就可以避免內存溢出。
???? 分配方法:
1)linux下
???? 編輯tomcat的catalina.sh文件,在第一行的后面增加一句:
JAVA_OPTS='-server -Xms256m -Xmx512m -XX:PermSize=128M -XX:MaxPermSize=256M'
注意:
單引號不能少
,-server表示以server模式運行(運行效率比默認的client高很多,自己云去測試),-Xms256m是最小內存,-Xmx512m是最大內存,其中的256與512可根據你自己的內存做相應調整,PermSize/MaxPermSize最小/最大堆大小.一般報內存不足時,都是說這個太小,堆空間剩余小于5%就會警告,建議把這個稍微設大一點,不過要視自己機器內存大小來設置,我自己的文件如下:
?
#!/bin/sh
JAVA_OPTS='-server -Xms1024m -Xmx1024m XX:PermSize=128M -XX:MaxPermSize=256M' # ----------------------------- |
?
2)windows下
???? 編輯tomcat的catalina.bat文件,在第一行的后面增加一句:
set JAVA_OPTS=
-server -Xms256m -Xmx512m -XX:PermSize=128M -XX:MaxPermSize=256M
注意:
沒有單引號
2.1)如果windows下tomcat被作為一種服務安裝了,可通過tomcat monitor的java頁進行配置,如下圖:
注:Java Options中每一行的最后不能有空格。
上面配置的
catalina.bat中
-server選項對應:Java Virtual Matchine
D:\Java\jdk1.6.0_03\jre\bin\server\jvm.dll
這里的jvm.dll不是jre\bin\client\jvm.dll而是\jre\bin\server\jvm.dll(要安裝JDK不是JRE)
如果你不想提高tomcat的執行效率,你可以按默認的配置
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
