Are you using a < 1.4 version of Solr? It has since been improved for multi- threaded scalability such as a lot of neat non-blocking components. It's been a long time ago since i saw a Solr server not taking advantage of multiple cores. Today, they take 200% up to even 1200% CPU time when viewing with top.
Here's one running at almost 700% processing 450+ queries/second. 15522 markus 20 0 2432m 859m 10m S 698 10.8 2:05.41 java > Is there a way to allow Solr to use multiple CPUs of a single, multi-core > box, to increase scale (number of documents, number of searches) of the > searchbase? > > The CoreAdmin wiki page talks about "Multiple Cores" as essentially > independent document bases with independent indexes, but with some > unification of administration at the grosser levels. That's not quite what > I'm looking for, though. I want a single URL for add and search access, > and a single logical searchbase, but I want to be able to use more of the > resources of the physical box where the searchbase runs. > > I guess I thought I would get this for free, it being Java and all, but I > don't seem to: even with hundreds of clients adding and searching, I only > seem to use one hardware core, and a bit of a second (which I interpret to > mean "one Java thread for Solr, one Java thread for Java I/O"). > > -==- > Jack Repenning > Technologist > Codesion Business Unit > CollabNet, Inc. > 8000 Marina Boulevard, Suite 600 > Brisbane, California 94005 > office: +1 650.228.2562 > twitter: http://twitter.com/jrep