This would be a Java VM option, not something Solr or other apps can know about. Using this or procset seems like a great way to handle it.
On Wed, Sep 29, 2010 at 8:46 AM, Glen Newton <glen.new...@gmail.com> wrote: > In a recent blog entry ("The MySQL “swap insanity” problem and the > effects of the NUMA architecture" > http://jcole.us/blog/archives/2010/09/28/mysql-swap-insanity-and-the-numa-architecture/), > Jeremy Cole describes a particular but common problem with large memory > installations of MySql on multi-core multi-cpu 64bit NUMA machines, > where debilitating swapping of large amounts of memory occurs even > when there is no (direct) indication of a need to swap. > > Without getting into the details (it involves how Linux assigns memory > to the different nodes (each multi-core CPU is viewed as a > 'node' in the Linux NUMA view)), the offered partial solution is to > start MySql using the > numactl[1] program, like: > numactl --interleave all mysql > > I was wondering if any of the SOLR people have used this when starting > up Apache > (or whatever servlet engine you use for your SOLR) to reduce unnecessary swap. > > You probably want to be monitoring the NUMA memory hit statistics > found here, with and without the numactl, while testing this: > /sys/devices/system/node/node*/numastat > > -- > > Note that numactl has a number of other interesting and useful > features. One that I have used is the --cpubind which restricts the > number of CPUs that an application can run on. There are times when > this can improve performance, such as when you have 2 demanding > applications running: by assigning one to half of the CPUs and the > other to the other half of > the CPUs, you _can_ have improved performance due to better locality, cache > hits, etc. It takes some tuning and experimentation. YMWV > > -Glen > http://zzzoot.blogspot.com/ > > [1]http://linuxmanpages.com/man8/numactl.8.php > > > > -- > > - > -- Lance Norskog goks...@gmail.com