首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >cassandra-stress遇到"java.lang.OutOfMemoryError: Java heap space“错误

cassandra-stress遇到"java.lang.OutOfMemoryError: Java heap space“错误
EN

Stack Overflow用户
提问于 2013-12-04 16:54:10
回答 2查看 1.2K关注 0票数 1

我正在尝试使用cassandra-stress工具在cassandra中插入记录。

代码语言:javascript
复制
cassandra-stress -d xx.xx.xx.xx -t 500 -c 1 -S 10240000

但我一直遇到以下错误:

代码语言:javascript
复制
Exception in thread "Thread-159" java.lang.OutOfMemoryError: Java heap space
        at java.util.Arrays.copyOf(Unknown Source)
        at java.lang.AbstractStringBuilder.expandCapacity(Unknown Source)
        at java.lang.AbstractStringBuilder.ensureCapacityInternal(Unknown Source)
        at java.lang.AbstractStringBuilder.append(Unknown Source)
        at java.lang.StringBuilder.append(Unknown Source)
        at org.apache.cassandra.stress.util.Operation.multiplyString(Operation.java:211)
        at org.apache.cassandra.stress.util.Operation.generateValues(Operation.java:92)
        at org.apache.cassandra.stress.operations.Inserter.run(Inserter.java:45)
        at org.apache.cassandra.stress.StressAction$Consumer.run(StressAction.java:275)

我尝试通过更改/usr/bin/cassandra-stress中的java调用来增加堆:

代码语言:javascript
复制
$JAVA -server -XX:+UseThreadPriorities -XX:ThreadPriorityPolicy=42 -Xms8033M -Xmx8033M -Xmn400M -cp $CLASSPATH org.apache.cassandra.stress.Stress $@

请注意,cassandra本身没有显示任何错误。

我有一台32 GB的四核机器,运行Ubuntu12.04.3LTS(GNU/Linux3.2.0-55-generic x86_64)。

EN

回答 2

Stack Overflow用户

发布于 2013-12-04 16:57:01

如果你有32 GB的内存,我会尝试一些接近你的内存容量的内存。我也会试一试更大的伊甸园尺寸。对于高负载系统,我会使用这样的东西。

代码语言:javascript
复制
-Xmn8g -Xmx24g

如果愿意,您也可以设置最小值,但这可能无济于事。

如果您使用这些设置监控系统,您可能会发现您不需要那么多内存,并且可以减少内存。如果这仍然太多,你需要减少你的压力测试或得到一个更大的盒子。

票数 1
EN

Stack Overflow用户

发布于 2013-12-05 14:04:14

看起来你的堆不足以满足你的使用需求。所以一定要听从彼得的建议。但以防万一,您可以尝试使用Plumbr运行cassandra-stress,以确保它不会泄漏内存。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20370857

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档