I am quite new to Cassandra and I am worried about an apache cassandra server that is running on an small isolated server with only 2 Gb of RAM. On this server there is very little data in Cassandra ( ~3 Mb only text in column values) but there are other servers such as : SolR, Tomcat, Redis, PostGreSQL. There is quite a lot of column families (about 15) but some column families are empty at the moment. At the moment memory consumption is 484 Mb real and 948556 in virtual.
I modified the storage-conf ( I am running apache cassandra 0.6.11) I set DiskAccessMode in standard since I am running on debian 64 bits. I also set the MemtableThroughput to 16 Mb instead of 64 Mb and I lower the Xms value to and Xmx to 128M and 256M.
My question is : where does this giant memory overhead comes from (484 Mb for 3 Mb of data seems insane) ? And more importantly : how can I set Cassandra to use maximum let's say 500 Mb, because at this rate Cassandra will be well over that limit soon.
For information because of security I cannot use JMX, except if there is a way to use JMX without an interface through SSH.
Thank you for your help.