cassandra 2.2.8:sstableverify - 超出GC开销限制

时间:2017-02-02 22:24:39

标签: java memory-leaks cassandra cassandra-cli

我怀疑我已经损坏了我的sstables表,因此当节点关闭时我正在运行sstableverify实用程序。我收到了[GC overhead limit exceeded]

等消息

寻求帮助,如果这个问题可以解决或解决..提前感谢!

  

sstableverify -v enterprise ale_state_access_point

     

线程“main”中的异常java.lang.OutOfMemoryError:GC开销   超出限制           at java.util.Arrays.copyOf(Arrays.java:3332)           at java.lang.AbstractStringBuilder.ensureCapacityInternal(AbstractStringBuilder.java:124)           at java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:649)           在java.lang.StringBuilder.append(StringBuilder.java:202)           at org.apache.cassandra.io.sstable.Descriptor.filenameFor(Descriptor.java:170)           在org.apache.cassandra.io.sstable.Descriptor.filenameFor(Descriptor.java:125)           在org.apache.cassandra.io.sstable.format.SSTableReader.load(SSTableReader.java:709)           在org.apache.cassandra.io.sstable.format.SSTableReader.load(SSTableReader.java:672)           在org.apache.cassandra.io.sstable.format.SSTableReader.open(SSTableReader.java:466)           在org.apache.cassandra.io.sstable.format.SSTableReader.openNoValidation(SSTableReader.java:377)           在org.apache.cassandra.tools.StandaloneVerifier.main(StandaloneVerifier.java:89)   错误20:33:15泄漏检测:参考   (org.apache.cassandra.utils.concurrent.Ref$State@6d42f926)上课   org.apache.cassandra.io.sstable.format.SSTableReader$InstanceTidier@1047072254:/卡桑德拉/数据/企业/ ale_state_access_point-ae4c50d0d67a11e696b25735df805631 / LB-79600-大   在引用被垃圾收集之前没有发布ERROR   20:33:15泄漏检测:参考   (org.apache.cassandra.utils.concurrent.Ref$State@69f4a15d)上课   org.apache.cassandra.io.sstable.format.SSTableReader$InstanceTidier@1968390106:/卡桑德拉/数据/企业/ ale_state_access_point-ae4c50d0d67a11e696b25735df805631 / LB-58267-大   在引用被垃圾收集之前没有被释放

2 个答案:

答案 0 :(得分:1)

我猜你有很多sstables,因为它没有构建描述符。如果系统上有内存,请尝试增加堆(默认为256mb):

MAX_HEAP_SIZE=4G sstableverify -v enterprise ale_state_access_point

答案 1 :(得分:0)

如果你篡改了sstables并打破了他们,你可以做的事情太多了。当节点尝试加载表时也会发生这种情况。我建议从备份恢复或擦洗表格。