> Can one of the Cassandra devs or anybody who knows about memory mapping
> comment on this/my particular mmap situation? I have been thinking about it
> and the start of my problems seemed to correlate to my active dataset and
> single sstable sizes growing beyond the amount of free system memory (12 GB,
> my nodes have 24 GB total with 12 GB for Cassandra heap). Does memory
> mapping somehow force the data to stay in memory or prevent it memory from
> being reclaimed for other purposes? Google does not turn up any nice simple
> answers.

It doesn't force it to be in memory, but in some respects memory
mapped files will be treated differently than pages cached that aren't
mapped (for example, use of mmap() tends to more easily trigger
swapping out of the application, presumably because the kernel doesn't
know to treat the mmap():ed file as less important than other
mmap():ed or brk():ed data by the application for regular heap
purposes).

Given that your problem definitely seems to be kernel-space, I was not
surprised when you said that switching away from mmap():Ing the data
files helped, just from a 'stirring the pot' perspective. But I
certainly don't know enough about the linux vm system to offer
specific claims as to what problem you triggered.

-- 
/ Peter Schuller

Reply via email to