Cassandra needs all the RAM you can give it so it can cache things for optimum performance. If you need it to use less, give it less.
-NK On Oct 28, 2010, at 10:30 AM, JKnight JKnight wrote: > Could you tell me why Cassandra use memory more than needed? > > > On Thu, Oct 28, 2010 at 9:15 AM, Nicholas Knight <nkni...@runawaynet.com> > wrote: > Presumably you're on a 32-bit architecture (or at least a 32-bit JVM). 32-bit > processes won't be able to address more than "X" amount of memory, where X > would usually be >= 2GB, and < 4GB. > > The reason you can't use a full 4GB is that part of the address space is > necessarily reserved by the OS kernel. Exactly how much is reserved depends > on the OS, version thereof, and/or configuration, but at least 0.5-1GB is > usually a safe bet, so the behavior you see is exactly as expected. > > If your hardware is 64-bit, make sure you're running a 64-bit OS and a 64-bit > JVM. If you're stuck on 32-bit hardware that just happens to have lots of > RAM, you could run multiple Cassandra instances on each box.. > > -NK > > > On Oct 28, 2010, at 10:04 AM, JKnight JKnight wrote: > > > Hi all, > > > > When I config Maximum heap size -Xmx4G, the memory will consume to 3.5G. > > When I call Perform GC (jconsole), the used memory reduce to 1G. > > > > When I config Maximum heap size -Xmx2G, Cassandra system run well. > > > > Is that Casandra problem? > > I want Cassandra use memory more effective. How can I do that? > > > > Thank a lot for support. > > -- > > Best regards, > > JKnight > > > > > -- > Best regards, > JKnight