目前cssandra的内存分配如下:

https://docs.datastax.com/en/cassandra/2.1/cassandra/operations/ops_tune_jvm_c.html#opsTuneJVM__tuning-the-java-heap

# some systems like the raspberry pi don't report cores, use at least 1

if [ "$system_cpu_cores" -lt "1" ]

then

system_cpu_cores="1"

fi

# set max heap size based on the following

# max(min(1/2 ram, 1024MB), min(1/4 ram, 8GB))

# calculate 1/2 ram and cap to 1024MB

# calculate 1/4 ram and cap to 8192MB

# pick the max

half_system_memory_in_mb=`expr $system_memory_in_mb / 2`

quarter_system_memory_in_mb=`expr $half_system_memory_in_mb / 2`

if [ "$half_system_memory_in_mb" -gt "1024" ]

then

half_system_memory_in_mb="1024"

fi

if [ "$quarter_system_memory_in_mb" -gt "8192" ]

then

quarter_system_memory_in_mb="8192"

fi

if [ "$half_system_memory_in_mb" -gt "$quarter_system_memory_in_mb" ]

then

max_heap_size_in_mb="$half_system_memory_in_mb"

else

max_heap_size_in_mb="$quarter_system_memory_in_mb"

fi

#MAX_HEAP_SIZE="${max_heap_size_in_mb}M"

# Young gen: min(max_sensible_per_modern_cpu_core * num_cores, 1/4 * heap size)

max_sensible_yg_per_core_in_mb="100"

max_sensible_yg_in_mb=`expr $max_sensible_yg_per_core_in_mb "*" $system_cpu_cores`

desired_yg_in_mb=`expr $max_heap_size_in_mb / 4`

if [ "$desired_yg_in_mb" -gt "$max_sensible_yg_in_mb" ]

then

HEAP_NEWSIZE="${max_sensible_yg_in_mb}M"

else

HEAP_NEWSIZE="${desired_yg_in_mb}M"

fi

通过阅读代码可以知道,

MAX_HEAP_SIZE:

A = 如果1/2的内存都比1024M要小,则取1/2的内存,否则取1024

B = 如果1/4的内存比8g要小,则取1/4的内存,否则取8G

再取MAX(A,B)

可以看出当最小时取1/2的内存(1/2的内存比1024M小),最大的内存取8G

HEAP_NEWSIZE = 核数*100M

如果MAX_HEAP_SIZE/4<核数*100M,则取MAX_HEAP_SIZE/4

改为MAX_HEAP_SIZE = 512M就可以正常运行了,这样就不会出现内存不够的情况,但是官方标配是:

!!!!!!!内存不够就不要用分布式数据库

3.cassandra遇到内存占用过高的问题的更多相关文章

  1. CLR Profile解决内存占用过高

    CLR Profile解决内存占用过高的问题 炮哥:"嘿,哥们,忙啥呢,电脑卡成这逼样." 勇哥:"在用CLR Profile工具分析下FlexiPrint的内存占用情况 ...

  2. [2017-08-09]一则使用WinDbg工具调试iis进程调查内存占用过高的案例

    最近遇到一个奇葩内存问题,跟了三四天,把Windbg玩熟了,所以打算分享下. 症状简介 我们团队的DEV开发环境只有一台4核16G的win2012r2. 这台服务器上装了SqlServer.TFS(项 ...

  3. 通过修改my.ini配置文件来解决MySQL 5.6 内存占用过高的问题

    打开后台进程发现mysql占用的内存达到400+M. 修改一下my.ini这个配置文件的配置选项是可以限制MySQL5.6内存占用过高这一问题的,具体修改选项如下: performance_schem ...

  4. 【转】一则使用WinDbg工具调试iis进程调查内存占用过高的案例

    最近遇到一个奇葩内存问题,跟了三四天,把Windbg玩熟了,所以打算分享下. 症状简介 我们团队的DEV开发环境只有一台4核16G的win2012r2.这台服务器上装了SqlServer.TFS(项目 ...

  5. Spring cloud开发内存占用过高解决方法

    https://blog.csdn.net/wanhuiguizong/article/details/79289986 版权声明:本文为博主原创文章,转载请声明文章来源和原文链接. https:// ...

  6. (转)aix非计算内存 占用过高 案例一则

    原文:http://www.talkwithtrend.com/Article/28621 两台小型机组成的RAC环境,在用topas查看资源使用情况时,发现一台机器的非计算内存占用过高: MEMOR ...

  7. Window下MySql 5.6 安装后内存占用很高的问题

    Window下MySql 5.6 安装后内存占用很高的问题 刚刚准备玩一把mysql,初学者 环境是window 7和window sever 2008, mysql是最新的5.6, 发现的问题是安装 ...

  8. [转帖]Linux中buff/cache内存占用过高解决办法

    Linux中buff/cache内存占用过高解决办法 https://www.cnblogs.com/rocky-AGE-24/p/7629500.html /proc/sys/vm/drop_cac ...

  9. 一个神奇的bug:OOM?优雅终止线程?系统内存占用较高?

    摘要:该项目是DAYU平台的数据开发(DLF),数据开发中一个重要的功能就是ETL(数据清洗).ETL由源端到目的端,中间的业务逻辑一般由用户自己编写的SQL模板实现,velocity是其中涉及的一种 ...

随机推荐

  1. Android学习之DatePicker和TimePicker

    在Android开发的应用程序中,通常都会有时间和日期选择的需求,下面就对日期选择控件DatePicker和时间选择控件TimePicker的基本使用方法进行介绍:        DatePicker ...

  2. springbatch---->springbatch的使用(五)

    这里我们介绍一个从数据库读取数据并写入到文件中的案例.如果能真心爱上一个人,那么不管对方是何等恶劣,哪怕对方并不爱自己,人生也至少不会是地狱,就算多少有点黯淡. 读取数据库数据 一.定义一个读写的jo ...

  3. 常用AT指令集 (转)

    常 用 AT 命 令 手 册 .常用操作 1.1 AT 命令解释:检测 Module 与串口是否连通,能否接收 AT 命令: 命令格式:AT<CR> 命令返回:OK (与串口通信正常) ( ...

  4. python3安装builtwith

    >>> import builtwith Traceback (most recent call last): File , in <module> File excep ...

  5. python 读取一个目录下的所有目录和文件

    #!/usr/bin/python # -*- coding:utf8 -*- import os allFileNum = 0 def printPath(level, path): global ...

  6. CentOS下mysql安装

    一.检查环境 # 切换root 权限 su root # 检查是否安装过mysql rpm -qa|grep mysql # 删除所有mysql yum -y remove mysql* 1.上传文件 ...

  7. 获取验证码随机字符串@return string $captcha,随机验证码文字

    <?php//验证码工具类class Captcha{//属性private $width;private $height;private $fontsize;private $pixes;pr ...

  8. 关于 Java 泛型的一些有趣的例子

    有以下的代码: try { ArrayList<String> lstA = new ArrayList<String>(); ArrayList<Integer> ...

  9. Flask 学习篇二:学习Flask过程中的记录

    Flask学习笔记: GitHub上面的Flask实践项目 https://github.com/SilentCC/FlaskWeb 1.Application and Request Context ...

  10. CodeForces 551C - GukiZ hates Boxes - [二分+贪心]

    题目链接:http://codeforces.com/problemset/problem/551/C time limit per test 2 seconds memory limit per t ...