we had as well recently a warning about a jvm going out of memory: out of swap space - and the java agent will complain about not haeving enough native space. and we figgured that there are different things to look at:
if such a error occurs its maybe just a symptom of the real problem as the agent is one major active component.
there are components like for example the system monitors which use the native memory space of the JVM process.
in our case we had a 32bit SUN JVM on solaris sparc and we allocated 3GB Heap and 512MB Perm Size which meant we where already very close to the system memory process limit and we where just lucky that we "never hit our head" at that max limitation of ~3.8G.
- there are different things which use native memory e.g. as soon you use drivers like JDBC OCI which uses native libraries.
- or any application which is using things like directbytebuffer (there is a module for the
www.eclipse.org/mat to create a report for directbytebuffer usage)
by side that there are system based process limitations on memory consumption which can lead to out of swap issues (all depending on your OS).
- basically the system allows you not to allocate more memory to that process because of a configurable or real limitation.
what was in the end our memory consumption where related to the application doing lots of native file handlers, and the agent was just not getting its amout of native space it required to run by side what the application did.
out of intrest we where trying to find out how much native memory our agent consumes for that we should provide CA support the system agents we use and they could then come back to us with a figgure, so far we didnt have done that.