首页 > 解决方案 > Cassandra - 达到的最大内存使用量(128.000MiB)无法分配 1.000 MiB 的块,这是什么意思?

问题描述

还有两个相关的帖子

NoSpamLogger.java 达到最大内存使用量 Cassandra

在 cassandra 中达到最大内存使用量(536870912 字节),无法分配 1048576 字节的块

但他们问的并不完全相同。我要求彻底了解此消息的含义?目前它似乎并没有影响我的延迟。

我做了一个nodetool cfstats

            SSTable count: 5
            Space used (live): 1182782029
            Space used (total): 1182782029
            Space used by snapshots (total): 0
            Off heap memory used (total): 802011
            SSTable Compression Ratio: 0.17875764458149868
            Number of keys (estimate): 34
            Memtable cell count: 33607
            Memtable data size: 5590408
            Memtable off heap memory used: 0
            Memtable switch count: 902
            Local read count: 4689
            Local read latency: NaN ms
            Local write count: 51592342
            Local write latency: 0.035 ms
            Pending flushes: 0
            Percent repaired: 0.0
            Bloom filter false positives: 0
            Bloom filter false ratio: 0.00000
            Bloom filter space used: 120
            Bloom filter off heap memory used: 80
            Index summary off heap memory used: 291
            Compression metadata off heap memory used: 801640
            Compacted partition minimum bytes: 447
            Compacted partition maximum bytes: 2874382626
            Compacted partition mean bytes: 164195240
            Average live cells per slice (last five minutes): NaN
            Maximum live cells per slice (last five minutes): 0
            Average tombstones per slice (last five minutes): NaN
            Maximum tombstones per slice (last five minutes): 0
            Dropped Mutations: 0

延迟对我来说看起来不错。

我也做了一个直方图

统计数据对我来说很好!那么卡桑德拉在抱怨什么?

标签: cassandra

解决方案


这个jira中的评论有解释:https ://issues.apache.org/jira/browse/CASSANDRA-12221

引用:

Wei Deng 发表评论 - 18/Jul/16 05:01

见卡桑德拉-5661。这是限制 RandomAccessReader 使用的堆外内存量的上限,如果有需要,可以通过 cassandra.yaml 中的 file_cache_size_in_mb 更改限制。


推荐阅读