我有一个tomcat作为我的网络服务器,它会根据给定的错误自动停止-
Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x00007f16a8405000, 12288, 0) failed; error='Cannot allocate memory' (errno=12)
我需要弄清楚实际发生了什么?那警告是什么意思?
没有足够的内存让Java Runtime Environment继续运行。
本机内存分配(malloc)无法分配xxxxx字节来提交保留的内存。
可能的原因: 1.系统没有物理RAM或交换空间 2.在32位模式下,达到了进程大小限制
可能的解决方案:1 .减少系统上的内存负载 2.增加物理内存或交换空间3. 检查交换后备存储是否已满 4.在64位OS上使用64位Java 5.减小Java堆大小(-Xmx /- Xms) 6.减少Java线程数量 7.减少Java线程堆栈大小(-Xss) 8.使用-XX:ReservedCodeCacheSize =设置较大的代码缓存(