JVM内存溢出-java.lang.OutOfMemoryError: Direct buffer memory

本博客就JVM的DirectMemory的产生OOM异常做以下分析。

由DirectMemory产生的OOM是直接操作内存导致,我们程序中直接或者间接的使用NIO可能会导致此类异常的产生,在JDK1.7以上,分析日志,将可找到异常原因。部分日志如下。

解决办法:

 1.检查程序

 2.限制DirectMemory的容量,可以通过-XX:MaxDirectMemorySize指定大小,如果不指定,则与Xmx(堆的最大值一致)

posted @ 2018-02-25 21:18  cnxieyang  阅读(2055)  评论(1编辑  收藏  举报
联系邮箱:cnxieyang@163.com