简体   繁体   English

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

[英]jvm crash.. not enough free memory? (1.6)

I got this from crash log.. looks like free memory is super low (1020k) that time, is it caused by too few memory? 我从崩溃日志中得到了这个...看起来像免费内存超低(1020k)那个时候,它是由内存太少引起的吗?

I have 10g RAM and my GC settings are: -Xmx5g -XX:NewRatio=3 -XX:CMSInitiatingOccupancyFraction=70 -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:+UseAdaptiveSizePolicy -XX:MaxGCPauseMillis=700 . 我有10g RAM,我的GC设置为: -Xmx5g -XX:NewRatio=3 -XX:CMSInitiatingOccupancyFraction=70 -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:+UseAdaptiveSizePolicy -XX:MaxGCPauseMillis=700

Can someone please give me some hints? 有人可以给我一些提示吗? Thanks! 谢谢!

# 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)

I don't think you are running out of memory. 我不认为你的内存不足。 This is an error for a segfault in the JVM. 这是JVM中段错误的错误。

Try reading these stackoverflow posts. 尝试阅读这些stackoverflow帖子。 They should point you in the right direction: 他们应该指出你正确的方向:

Java VM: reproducable SIGSEGV on both 1.6.0_17 and 1.6.0_18, how to report? Java VM:1.6.0_17和1.6.0_18都可重现SIGSEGV,如何报告?

how to debug SIGSEGV in jvm GCTaskThread 如何在jvm GCTaskThread中调试SIGSEGV

Well unless the JVM has a bug where it is hitting a segfault or a buffer overrun without first crashing on not enough stack memory remaining, try setting -Xss (the per thread stack size) to a higher value. 除非JVM有一个错误,它遇到段错误或缓冲区溢出而没有首先崩溃没有剩余的堆栈内存,请尝试将-Xss(每个线程堆栈大小)设置为更高的值。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM