在生產環境中tomcat內存設置不好很容易出現內存溢出。造成內存溢出是不一樣的,當然處理方式也不一樣。
這裏根據平時遇到的情況和相關資料進行一個總結。常見的一般會有下面三種情況:
fMemoryError: Java heap space
fMemoryError: PermGen space
fMemoryError: unable to create new native thread.
Tomcat內存溢出解決方案
對於前兩種情況,在應用本身沒有內存泄露的情況下可以用設置tomcat jvm參數來解決。(-Xms -Xmx -XX:PermSize -XX:MaxPermSize)
最後一種可能需要調整操作系統和tomcat jvm參數同時調整才能達到目的。
tomcat 是一款非常流行的基於 java 的 web 應用服務器,因為配置簡單,部署快速而深受 web 開發人員的喜愛。
Tomcat 上部署了 web 應用之後,會一直運行,如果部署其上的 web 應用本身編寫不當,分配的內存沒有被及時釋放,最後就會導致 Tomcat 內存溢出,即 JVM 可用內存全部耗盡的情況出現。