pod自動重啟的可能原因


1. 在沒有給jvm指定內存大小的情況下,機器物理內存很大時,jvm默認占用的內存Xms超出了k8s分配給pod的內存,導致pod內存溢出,從而k8s不斷重啟pod。
2. 運行過程中,jvm不斷申請內存直到最大heap內存Xmx,Xmx超出了k8s分配給pod的內存,從而k8s自動重啟pod。
解決方法:在啟動的腳本中設置jvm內存-Xms、-Xmx參數
例如:java -Xms1024m -Xmx1024m -jar app.jar

3. 設置了docker容器的內存限制,制作的鏡像未對JVM進行配置,那么 JVM 會默認設置堆棧的大小。這樣,當jvm占用內存超過docker容器限制時,就會出現container 被docker killed情況。
解決方法:一樣是設置jvm內存-Xms、-Xmx參數,注意要小於docker容器的內存限制。


免責聲明!

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



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