本博客就JVM的DirectMemory的产生OOM异常做以下分析。
由DirectMemory产生的OOM是直接操作内存导致,我们程序中直接或者间接的使用NIO可能会导致此类异常的产生,在JDK1.7以上,分析日志,将可找到异常原因。部分日志如下。
解决办法:
1.检查程序
2.限制DirectMemory的容量,可以通过-XX:MaxDirectMemorySize指定大小,如果不指定,则与Xmx(堆的最大值一致)
本博客就JVM的DirectMemory的产生OOM异常做以下分析。
由DirectMemory产生的OOM是直接操作内存导致,我们程序中直接或者间接的使用NIO可能会导致此类异常的产生,在JDK1.7以上,分析日志,将可找到异常原因。部分日志如下。
解决办法:
1.检查程序
2.限制DirectMemory的容量,可以通过-XX:MaxDirectMemorySize指定大小,如果不指定,则与Xmx(堆的最大值一致)
转载于:https://www.cnblogs.com/cnxieyang/p/8470681.html