Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Memory 卡桑德拉吃记忆_Memory_Cassandra_Cassandra 2.1 - Fatal编程技术网

Memory 卡桑德拉吃记忆

Memory 卡桑德拉吃记忆,memory,cassandra,cassandra-2.1,Memory,Cassandra,Cassandra 2.1,我设置了Cassandra 2.1和以下属性: MAX_HEAP_SIZE="5G" HEAP_NEWSIZE="800M" memtable_allocation_type: heap_buffers top实用程序显示cassandra消耗14.6G虚拟内存: KiB Mem: 16433148 total, 16276592 used, 156556 free, 22920 buffers KiB Swap: 16777212 total, 0 used, 16

我设置了Cassandra 2.1和以下属性:

MAX_HEAP_SIZE="5G"
HEAP_NEWSIZE="800M"
memtable_allocation_type: heap_buffers
top实用程序显示cassandra消耗14.6G虚拟内存:

KiB Mem:  16433148 total, 16276592 used,   156556 free,    22920 buffers
KiB Swap: 16777212 total,        0 used, 16777212 free.  9295960 cached Mem

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
23120 cassand+  20   0 14.653g 5.475g  29132 S 318.8 34.9  27:07.43 java
当我从Spark访问它时,它也会随着各种OutOfMemoryError异常而消亡


如何防止这种“OutOfMemoryErrors”并减少内存使用?

Cassandra确实消耗了大量内存,但它可以控制,但需要调整GC[垃圾收集]设置

GC参数包含在JAVA_OPTS变量的bin/cassandra.in.sh文件中

您可以在JAVA_选项中应用这些设置

    -XX:+UseConcMarkSweepGC
  -XX:ParallelCMSThreads=1
  -XX:+CMSIncrementalMode
  -XX:+CMSIncrementalPacing
  -XX:CMSIncrementalDutyCycleMin=0
  -XX:CMSIncrementalDutyCycle=10

或者让cassandra的脚本指定这些参数,而不是指定
MAX\u HEAP\u SIZE
HEAP\u NEWSIZE
这些参数,因为它将为这些参数指定最佳值。

谢谢您的回答。但是这个选项调整了GC参数,GC在堆内存上运行。在我的例子中,堆限制为5G,而cassandra消耗14g的虚拟内存。所以我假设这是堆外的,不能被这个选项控制。