I have already updated that property to mmap_index_only. And in pmap I could see only index files are loaded into memory not the SSTables. I feel this is some to do with direct memory buffer. There is a opened JIRA ticket https://issues.apache.org/jira/browse/CASSANDRA-10930 as well regarding this.
On Mon, Mar 30, 2020 at 2:05 PM Erick Ramirez <erick.rami...@datastax.com> wrote: > 1. Why Cassandra memory usage remains high even if no traffic is run? >> 2. In which case I will get above error ( *java.lang.OutOfMemoryError: >> Direct buffer memory*). How to avoid those cases? >> > > I don't have enough information to know if it applies to your case but > there's a good possibility that your SSTables are getting mapped to memory > and it's causing high memory usage. > > There's a hidden property called disk_access_mode that determines how > SSTables are accessed. In older versions of C*, the behaviour was to only > mmap() index files. But with the added support for direct buffer > compressing in C* 2.2, both data and index files are getting mapped to > memory when they get accessed. > > I've explained it in a bit more detail in this KB article -- > https://support.datastax.com/hc/en-us/articles/360027838911. Note that it > specifically mentions DSE 5.0 and 5.1 but it equally applies to C* 3.0 > through to 3.11. The solution is to add this line to cassandra.yaml and > restart C*: > > disk_access_mode: mmap_index_only > > If it's the cause of the symptoms you described, you'd be able to see > significantly less memory usage than before. Cheers! > > GOT QUESTIONS? Apache Cassandra experts from the community and DataStax > have answers! Share your expertise on https://community.datastax.com/. > >