After investigating it deeper,  I suspect it's native memory leak of JVM.
The large anonymous map on lower address space should be the native heap of
JVM,  but not java object heap.  Has anybody met it before?

I'll try to upgrade the JVM tonight.

best regards,
hanzhu


On Thu, Dec 16, 2010 at 10:50 AM, Zhu Han <schumi....@gmail.com> wrote:

> Hi,
>
> I have a test node with apache-cassandra-0.6.8 on ubuntu 10.4.  The
> hardware environment is an OpenVZ container. JVM settings is
> # java -Xmx128m -version
> java version "1.6.0_18"
> OpenJDK Runtime Environment (IcedTea6 1.8.2) (6b18-1.8.2-4ubuntu2)
> OpenJDK 64-Bit Server VM (build 16.0-b13, mixed mode)
>
> This is the memory settings:
>
> "/usr/bin/java -ea -Xms1G -Xmx1G ..."
>
> And the ondisk footprint of sstables is very small:
>
> "#du -sh data/
>  "9.8M    data/"
>
> The node was infrequently accessed in the last  three weeks.  After that, I
> observe the abnormal memory utilization by top:
>
>   PID USER      PR  NI  *VIRT*  *RES*  SHR S %CPU %MEM    TIME+
> COMMAND
>
>  7836 root      15   0     *3300m* *2.4g*  13m S    0 26.0   2:58.51
> java
>
> The jvm heap utilization is quite normal:
>
> #sudo jstat -gc -J"-Xmx128m" 7836
>  S0C    S1C    S0U    S1U      *EC*       *EU*          *OC*            *
> OU*            *PC           PU*          YGC  YGCT  FGC    FGCT     GCT
>
> 8512.0 8512.0 372.8   0.0   *68160.0*   *5225.7*   *963392.0   508200.7
> 30604.0 18373.4*    480    3.979      2      0.005    3.984
>
> And then I try "pmap" to see the native memory mapping. *There is two
> large anonymous mmap regions.*
>
> 00000000080dc000 1573568K rw---    [ anon ]
> 00002b2afc900000  1079180K rw---    [ anon ]
>
> The second one should be JVM heap.  What is the first one?  Mmap of sstable
> should never be anonymous mmap, but file based mmap.  *Is it  a native
> memory leak?  *Does cassandra allocate any DirectByteBuffer?
>
> best regards,
> hanzhu
>

Reply via email to