[英]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.