超出交换空间

时间:2013-04-04 10:27:42

标签: java out-of-memory jvm-crash g1gc

我们正面临以下例外情况。请注意,我们不遵循JVM(32位)的配置

-Xms1024m -Xmx3076m -Xmn1024m -XX:+HeapDumpOnOutOfMemoryError -XX:+UseG1GC -XX:+UnlockExperimentalVMOptions -XX:+AggressiveOpts -XX:+DoEscapeAnalysis -XX:MaxGCPauseMillis=400 -XX:GCPauseIntervalMillis=8000 
-XX:PermSize=256m 
-XX:MaxPermSize=512m

我们正在使用32位solaris机器。

#
# A fatal error has been detected by the Java Runtime Environment:
#
# java.lang.OutOfMemoryError: requested 98304 bytes for char in /BUILD_AREA/jdk6_23/hotspot/src/share/vm/gc_implementation/g1/sparsePRT.cpp. Out of swap space?
#
#  Internal Error (allocation.inline.hpp:39), pid=7285, tid=32
#  Error: char in /BUILD_AREA/jdk6_23/hotspot/src/share/vm/gc_implementation/g1/sparsePRT.cpp

任何帮助都会受到高度赞赏。

1 个答案:

答案 0 :(得分:0)

这意味着操作系统拒绝了JVM分配更多内存的请求。 JVM建议最可能的原因......操作系统已经耗尽了“制造”虚拟内存所需的资源;即当需要换掉物理内存页时,用于存储物理内存页的磁盘空间。

对此的修复是特定于操作系统的,但它需要增加为保持“交换”内存页面而保留的磁盘空间量;即“交换空间”。