I have 7 different java daemons that I run (all 7) on 3 different servers. The java command line has -Xmx2048m and -Xss1024k. On these 3 servers, all 21 processes show jus
Turns out this is a glibc problem.
The short answer for me was:
export MALLOC_ARENA_MAX=1
This decreased process footprint (VIRT in top) by as much as 5x. Back to the levels seen in CentOS 5.
Recent versions of glibc have a new feature "per-thread memory pools":
http://www.centos.org/docs/5/html/5.4/Technical_Notes/glibc.html
The last item in the 1.71.1 log section discusses it (and refers to a non-public bug....)