【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代码

                虚拟机和垃圾收集器

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