【026】2020.11.26 週四 JVM調優案例-02


JVM調優案例 11.26

    集羣間同步導致的內存溢出

        問題

            一個B/S的MISS系統開啓JBossCache全局緩存後,不定期出現內存溢出的問題

        原因

            JBossCache在確認所有註冊在GMS的節點都收到正確信息前,發送的信息必須在內存中保留

            MISS服務端的全局過濾器更新最後更新時間導致集羣各節點交互頻繁,當網絡情況不能滿足傳輸需求時,重發的數據在內存中不斷堆積很快產生了內存溢出

        解決

            JBossCache後續有改進可允許讀操作,不應當有過於頻繁的寫操作避免網絡同步的開銷


堆外內存導致的溢出錯誤

        問題

            基於B/S的電子考試系統服務端不定時拋出內存溢出異常

        原因

            一共2GB內存,1.6GB分給了堆內存,分給直接內存的少,可 ComeD 1.1.1 框架有大量NIO操作,使用到了直接內存,所以OOM了

        解決

            也要給直接內存分配合適的內存

                直接內存

                線程堆棧

                Socket緩存區

                JNI代碼

                虛擬機和垃圾收集器

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章