Cassandra:NoSpamLogger日志达到最大内存使用量

时间:2018-07-30 09:47:54

标签: cassandra elassandra

每隔15分钟我会看到此日志条目:

  

2018-07-30 10:29:57,529信息[pool-1-thread-2] NoSpamLogger.java:91日志已达到最大内存使用率(512.000MiB),无法分配1.000MiB的块

我一直在阅读此问题,但是我的表看不到任何错误: NoSpamLogger.java Maximum memory usage reached Cassandra

我有4个大桌子:

iot_data/derived_device_data histograms
Percentile  SSTables     Write Latency      Read Latency    Partition Size        Cell Count
                          (micros)          (micros)           (bytes)
50%             0.00              0.00              0.00               642                12
75%             0.00              0.00              0.00             17084               642
95%             0.00              0.00              0.00            263210             11864
98%             0.00              0.00              0.00           1629722             61214
99%             0.00              0.00              0.00           1955666             88148
Min             0.00              0.00              0.00               150                 0
Max             0.00              0.00              0.00           4055269            152321


iot_data/derived_device_data_by_year histograms
Percentile  SSTables     Write Latency      Read Latency    Partition Size        Cell Count
                          (micros)          (micros)           (bytes)
50%             0.00              0.00              0.00             51012              1597
75%             0.00              0.00              0.00           2346799             61214
95%             0.00              0.00              0.00          52066354           1629722
98%             0.00              0.00              0.00          52066354           1629722
99%             0.00              0.00              0.00          52066354           1629722
Min             0.00              0.00              0.00              6867               216
Max             0.00              0.00              0.00          52066354           1629722

iot_data/device_data histograms
Percentile  SSTables     Write Latency      Read Latency    Partition Size        Cell Count
                          (micros)          (micros)           (bytes)
50%             0.00             29.52              0.00              2299               149
75%             0.00             42.51              0.00            182785              9887
95%             0.00             61.21              0.00           2816159            152321
98%             0.00             61.21              0.00           4055269            219342
99%             0.00             61.21              0.00          17436917           1131752
Min             0.00             17.09              0.00                43                 0
Max             0.00             61.21              0.00          74975550           4866323

iot_data/device_data_by_week_sensor histograms
Percentile  SSTables     Write Latency      Read Latency    Partition Size        Cell Count
                          (micros)          (micros)           (bytes)
50%             0.00             35.43              0.00              8239               446
75%             0.00             51.01              0.00            152321              8239
95%             0.00             61.21              0.00           2816159            152321
98%             0.00             61.21              0.00           4055269            219342
99%             0.00             61.21              0.00          12108970            785939
Min             0.00             20.50              0.00                43                 0
Max             0.00             61.21              0.00          74975550           4866323

尽管我知道/ derived_device_data /// derived_device_data_by_year表需要一些重构,但它们都没有接近100MB标记。为什么我会收到此日志条目?

编辑: 我在测试系统上注意到了相同的日志条目,它们几乎没有数据运行,但配置与prod相同。 12GB RAM,cassandra 3.11.2

2 个答案:

答案 0 :(得分:2)

您可能需要检查vm.max_map_count的值以及交换设置。如果启用交换,则可能会影响两个系统的性能。 vm.max_map_count的默认值也可能太低,并且会影响Cassandra和Elasticsearch(请参见recommendation for ES)。

此外,您可能需要显式设置Cassandra和file_cache_size_in_mb的堆大小-具有12Gb RAM,Cassandra将使用1/4即3Gb,而file_cache_size_in_mb将为〜750Mb(1/4堆)-可能太低了。

P.S。由于它被记录为INFO,因此被认为是无害的。参见https://issues.apache.org/jira/browse/CASSANDRA-12221https://issues.apache.org/jira/browse/CASSANDRA-11681

答案 1 :(得分:0)

不确定这个特定问题,但也许尝试检查Cassandra的配置目录中的jvm.options文件。您可能需要增加Xmx或其他设置。