jvm崩溃..没有足够的免费记忆? (1.6)

时间:2012-11-26 21:26:48

标签: java jvm

我从崩溃日志中得到了这个...看起来那个时候可用内存超低(1020k),是不是内存太少引起的?

我有10g内存,我的GC设置是: -Xmx5g -XX:NewRatio=3 -XX:CMSInitiatingOccupancyFraction=70 -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:+UseAdaptiveSizePolicy -XX:MaxGCPauseMillis=700

有人可以给我一些提示吗?谢谢!

# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0x00007f220198ce10, pid=26470, tid=1154627904
#
# JRE version: 6.0_24-b07
# Java VM: Java HotSpot(TM) 64-Bit Server VM (19.1-b02 mixed mode linux-amd64 compressed oops)
# Problematic frame:
# J  com.twitter.typeahead.server.topic.TopicTypeAheadController$2.onSuccess(Lcom/twitter/typeahead/common/MetastoreResult;)V
#
# If you would like to submit a bug report, please visit:
#   http://java.sun.com/webapps/bugreport/crash.jsp
#

Current thread (0x00007f21f2ce0800):  JavaThread "New I/O client worker #1-18" [_thread_in_Java, id=26628, stack(0x0000000044c23000,0x0000000044d24000)]


siginfo:si_signo=SIGSEGV: si_errno=0, si_code=2 (SEGV_ACCERR), si_addr=0x00007f2200e4616a

Registers:
RAX=0x00000006bae61950, RBX=0x00000007fafe2be0, RCX=0x0000000000000000, RDX=0x00000006bbe2d580
RSP=0x0000000044d22180, RBP=0x00000006bae61950, RSI=0x00000006bae61950, RDI=0x00007f220198ccf0
R8 =0x00000000d77c5ab0, R9 =0x00000006bbd0a190, R10=0x00000000035df16a, R11=0x00007f21fd867000
R12=0x0000000000000000, R13=0x0000000044d22180, R14=0x0000000000000001, R15=0x00007f21f2ce0800
RIP=0x00007f220198ce10, EFL=0x0000000000010207, CSGSFS=0x0000000000000033, ERR=0x0000000000000006
  TRAPNO=0x000000000000000e

Register to memory mapping:

RAX=0x00000006bae61950

[error occurred during error reporting (printing registers, top of stack, instructions near pc), id 0xb]

Stack: [0x0000000044c23000,0x0000000044d24000],  sp=0x0000000044d22180,  free space=1020k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)

1 个答案:

答案 0 :(得分:0)

我认为你的内存不足。这是JVM中段错误的错误。

尝试阅读这些stackoverflow帖子。他们应该指出你正确的方向:

Java VM: reproducable SIGSEGV on both 1.6.0_17 and 1.6.0_18, how to report?

how to debug SIGSEGV in jvm GCTaskThread

除非JVM有一个错误,它遇到段错误或缓冲区溢出而没有先没有剩余的堆栈内存崩溃,请尝试将-Xss(每个线程堆栈大小)设置为更高的值。