首先要明确的是,这个错误是JDK报的。分析:

  • codeCache.cpp

CodeCache::initialize()

在这里调用reserve()时出错,报错。

  • heap.cpp

CodeHeap::reserve()

  • virtualspace.cpp

initialize()

initialize_with_granularity()

expand_by()

  • os.cpp

commit_memory()

  • os_bsd.cpp

pd_commit_memory(),调用mmap()失败。

问题找到了,怎么解决呢?