zoukankan      html  css  js  c++  java
  • 3.cassandra遇到内存占用过高的问题

     

    目前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就可以正常运行了,这样就不会出现内存不够的情况,但是官方标配是:

     

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

  • 相关阅读:
    MFC--响应鼠标和键盘操作
    c/C++二进制运算符
    MFC-简单的函数使用
    mfc学习之路--如何删除通过控件新增的变量
    标准BST二叉搜索树写法
    Spring4.1新特性——Spring MVC增强
    浅析JSONP-解决Ajax跨域访问问题
    关于jquery跨域请求方法
    解决jsp下载文件,迅雷下载路径不显示文件名称的问题
    REST风格URL
  • 原文地址:https://www.cnblogs.com/caimuqing/p/9185171.html
Copyright © 2011-2022 走看看