I have 卡桑德拉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 访问它时出现异常。
我怎样才能防止这种情况“内存不足错误”并减少内存使用?
Cassandra 确实消耗了大量内存,但可以通过调整 GC [垃圾收集] 设置来控制。
GC 参数包含在 bin/cassandra.in.sh 文件的 JAVA_OPTS 变量中。
您可以在 JAVA_OPTS 中应用这些设置
-XX:+UseConcMarkSweepGC
-XX:ParallelCMSThreads=1
-XX:+CMSIncrementalMode
-XX:+CMSIncrementalPacing
-XX:CMSIncrementalDutyCycleMin=0
-XX:CMSIncrementalDutyCycle=10
或者代替指定MAX_HEAP_SIZE
and HEAP_NEWSIZE
这些参数让 cassandra 脚本指定这些参数,因为它会为这些参数分配最佳值。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)