tomcat自動關閉了。


測試方法:

1.狂點抽取大量數據的接口

結果:

jvm里面的現成崩潰。導致tomcat錯誤。

思路:

最近發現tomcat老是自動關閉,開始也發現了,不過沒放在心上,直到今天,請求一提交到服務器,tomcat就死了

錯誤排查

tomcat自動關閉的原因很多,不一定是內存溢出,網上查到原因:
1.並發用戶數目過大,也會導致tomcat自動停止服務
2.系統本身的網絡負載平衡沒有做好,導致tomcat自動停止服務
3.程序迭代不合理也是一個原因
4.數據庫連接未關閉,導致資源損耗過重,會引起服務停止
5.程序嚴重錯誤,也會引起tomcat停止服務

沒錯,以上情況我都不是
接下來就是看日志了,報錯看日志是常識了

1.首先看tomcat的bin目錄下的logs文件夾的日志,日期排序,看當天的就行了,如果有錯誤信息,先解決了再說

2.看tomcat的bin目錄下面,有沒有hs_err_pidxxxx.log 之類的文件,如果沒有,你可以不看下面的內容了,如果有,恭喜你,內存溢出了

解決方案

1.既然是內存溢出,就先看看自己服務器的配置,是不是服務器內存不夠用了,盡量把沒用的進程停止了

2.去tomcat的bin下面有個catalina.bat的批處理文件,用notepad++打開文件,
全文搜索

%CATALINA_OPTS%

替換成

-Xmx128m -Xms64m -Xmn32m -Xss16m

一共有四處需要替換的地方
然后啟動tomcat

3.可能以上情況不行,接下來就是檢查你的運行環境了,運行環境也是有影響的
cmd命令窗口輸入:java -version
看看版本顯示是否正常

如果不是圖片中的提示,版本號無所謂,就需要看看你jdk的環境變量對不對了
簡單教程環境變量配置
a.
b.
如果環境變量沒問題,繼續

4.以上情況都不行的話,建議更換tomcat版本
推薦tomcat7090以上
tomcat官網下載
如圖下載需要的版本即可

安裝tomcat,打包部署,啟動tomcat

5.如果以上還是不行
a.可以在本地把項目打包出來
運行環境直接copy出來即可,路徑下如圖

wtpwebapps文件夾里面就是你運行的項目,不要剪切,不然你的本地代碼也沒了(哥就吃過這個虧,當天的代碼全沒了,但是我每天都會備份數據)
b.然后自己放到自己剛才下載的tomcat里面(這只是我的排錯方式,當本地環境和服務器環境一樣,看本地是否還報錯)
如果發現本地不報錯,那就是服務器的問題了
可能是你服務器配置雀實太低了,讓老板加錢升級吧
推薦環境:jdk1.8,tomcat7090
ps:高版本的tomcat用jdk1.8

 http://aodeng.cc:8886/archives/tomca

解決方法:

1.更換jdk版本 不要用32位的(最高支持3.7g)  用64位的。

2.初始2G,最大6G,方法區256最大,初始128。

8g內存 推薦配置參數:

   windows::::::set JAVA_OPTS=-server -Xms2048m -Xmx6000m -XX:MaxNewSize=512m -XX:MaxPermSize=512m

linux  注意一定要帶引號::::::::::set JAVA_OPTS="-Xms2048m -Xmx6000m -Xss1024K -XX:MaxNewSize=512m  -XX:MaxPermSize=512m" 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM