Summary
Cassandra typically uses a cache for reading SSTables, for which the normal default is usually sufficient. However depending on the read throughput sometimes this cache may become exhausted and a message is seen in the log which might cause users some concern.
Applies to
All versions of DSE
Symptoms
The following error message will be seen in the /var/log/cassandra/system.log
INFO [CompactionExecutor:1] 2018-08-30 16:51:28,098 NoSpamLogger.java:94 - Maximum memory usage reached (512.000MiB), cannot allocate chunk of 1.000MiB
An increase in read latency or CPU usage may also be observed at the same time these messages appear in the logs
Cause
This message is logged when SSTables are being read into the cache faster than the memory can be recycled. The size of the cache is controlled by the file_cache_size_in_mb
setting in the cassandra.yaml
. The default size is 512 MB.
Solution
The file_cache_size_in_mb
in the cassandra.yaml
can be increased (requires a DSE restart). This is if you observe a degradation in read latency or higher than normal CPU usage which gives cause for concern.
If however you are not seeing any detrimental effect then there is no immediate need to increase the cache size.