run cassandra under numactl --interleave=all
--------------------------------------------
Key: CASSANDRA-2594
URL: https://issues.apache.org/jira/browse/CASSANDRA-2594
Project: Cassandra
Issue Type: Improvement
Reporter: Peter Schuller
Priority: Minor
Attachments: CASSANDRA-2594-trunkk.txt
By default, Linux attempts to be smart about memory allocations such that data
is close to the NUMA node on which it runs. For big database type of
applications, this is not the best thing to do if the priority is to avoid disk
I/O. In particular with Cassandra, we're heavily multi-threaded anyway and
there is no particular reason to believe that one NUMA node is "better" than
another.
Consequences of allocating unevenly among NUMA nodes can include excessive page
cache eviction when the kernel tries to allocate memory - such as when
restarting the JVM.
With that briefly stated background, I propse the following patch to make the
Cassandra script run Cassandra with numactl --interleave=all if numactl seems
to be available.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira