首页 / JAVA / 无法为Java分配足够的堆空间
无法为Java分配足够的堆空间
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了无法为Java分配足够的堆空间,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1083字,纯文字阅读大概需要2分钟。
内容图文
![无法为Java分配足够的堆空间](/upload/InfoBanner/zyjiaocheng/801/e922e39bcf914c46b9af407a407e1756.jpg)
我们有一个运行良好一年的应用程序.它是一个Web应用程序,在Windows Server 2003 Enterprise Edition Service Pack 2上的Microsoft Cluster下的Tomcat 5.5 JDK 1.5下运行.服务器具有11Gb的RAM(我知道它没用!),其中包含以下描述“物理地址扩展”:我不知道这意味着什么.
Tomcat服务配置了以下参数:-Xmx1024m -Xms128m
从上周开始,该服务不再需要启动并停止并显示以下错误消息:“无法分配足够的堆空间”.
我们尝试了几个测试:
> java -Xmx1024m -version =>失败
> java -Xmx758m -version =>失败
> java -Xmx512m -version =>通过
因此,我们可以使用更少的内存来获得最大堆大小,但这不是一个可接受的解决方法,因为用户数量将在几个月内增加,我们需要将最大堆大小设置为1024Mb.
另外我不明白为什么它工作正常然后突然停止工作!似乎操作系统现在无法分配连续内存或其他内容(页面文件大小,用户内存分配……)
由于Web应用程序在客户服务器上运行而我们无法访问它,因此很难知道某些内容是否发生了变化(操作系统补丁,配置等).
解决方法:
Java需要连续的内存.在32位操作系统上,这限制了Windows在1.2到1.4 GB之间.但是,如果由于正在运行的其他程序而导致内存碎片化,则可能会占用更小的内存区域.
使用64位操作系统不会出现此问题,您甚至可以为jVM分配更多内存(如果使用64位JVM)
内容总结
以上是互联网集市为您收集整理的无法为Java分配足够的堆空间全部内容,希望文章能够帮你解决无法为Java分配足够的堆空间所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。