当前位置: 首页 > 面试题库 >

Java HotSpot(TM)64位服务器VM警告

韦睿
2023-03-14
问题内容

我有一个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 =设置较大的代码缓存(



 类似资料:
  • 我在运行cassandra时出现以下错误。 $ sudo服务cassandra start $卡桑德拉 JavaHotSpot(TM)服务器VM警告:由于权限被拒绝,无法打开文件 /var/log/cassandra/gc.log。

  • 问题内容: 使用Maven构建Java 8项目时: 我收到此消息: Java HotSpot(TM)64位服务器VM警告:忽略选项MaxPermSize = 128m;在8.0中删除了支持 如何删除此消息? 问题答案: JDK 8兼容性指南指出,在Java 8中,命令行标志已被删除。原因是永久代已从热点堆中删除,并已移至本机内存。因此,为了删除此消息,请编辑MAVEN_OPTS环境用户变量: Ja

  • 我有一个tomcat作为我的web服务器,它会随着给定的错误自动停止- 我需要弄清楚到底发生了什么?警告意味着什么?

  • 所以我在Java是一个傻瓜,我正在尝试制作一个Minecraft mod,我不知道发生了什么,因为在eclipse中,当我运行Minecraft时,它会通过forge加载屏幕,它会达到7个,看起来它会完成,但随后崩溃并显示这些错误信息(完整日志): 我发现唯一可以修复它的是,如果我删除了名为RegistryHandler的文件,该文件显示 另外,这是我的toolsword.java: 下面是我的使

  • 在eclipse中使用jNetpcap API编译项目时 我遵循了下面网站上提到的所有步骤,如何在Debian发行版上设置环境 http://jnetpcap.com/compile/debian

  • 我在一个项目中使用java scala(与sbt一起)。 语言信息: 当我运行任何时,我得到一个奇怪的警告提示: 我无法理解这种行为。 更新: 我检查了 选项,它具有相同的行为: 感谢这么快的解释1.8Java新功能! 但是如何解决警告的发生? 以下是的内容: Eclipse有< code>eclipse.ini: 更新2 我从两个配置文件中删除了包含的所有行。 但是这个错误警告一直出现(当<co