java.lang.OutOfMemoryError: Map

2020-06-12  本文已影响0人  baishangbing

mmap句柄超过了系统默认最大值。系统默认最大值可使用

cat /proc/sys/vm/max_map_count

查看,进程使用句柄数可使用

cat /proc/$PID/maps | wc -l

查看。每一块申请的ByteBuffer都对应一个mmap句柄,也就是说,如果生成了大量的碎ByteBuffer,那么句柄数也会急剧增长。而这些句柄的回收是伴随着ByteBuffer回收的,堆外内存的GC需要显示调用System.gc来进行。

解决方式:

参考文献:
https://www.jianshu.com/p/61e3979daef8

上一篇 下一篇

猜你喜欢

热点阅读