4

これはクラッシュログから取得しました..当時の空きメモリが非常に少ない(1020k)ようですが、メモリが少なすぎることが原因ですか?

10g の RAM があり、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)
4

1 に答える 1

0

メモリが不足しているとは思いません。これは、JVM の segfault のエラーです。

これらのスタックオーバーフローの投稿を読んでみてください。彼らはあなたを正しい方向に向けるはずです:

Java VM: 1.6.0_17 と 1.6.0_18 の両方で再現可能な SIGSEGV、報告方法は?

jvm GCTaskThread で SIGSEGV をデバッグする方法

JVM に、十分なスタック メモリが残っていないために最初にクラッシュせずにセグメンテーション違反またはバッファ オーバーランが発生するというバグがない限り、-Xss (スレッドごとのスタック サイズ) をより高い値に設定してみてください。

于 2013-03-09T00:10:24.620 に答える