Memory-leak monitor?

What do people use to check for memory leaks in the JVM? AFAICS the JVM is unaware of it’s own leaks, and so java-based profilers won’t detect it (although I’m having trouble running them to find out, because the leak is so severe it can crash the OS in under 6 seconds!)

c.f. the problem I’m having here:
http://www.java-gaming.org/cgi-bin/JGNetForums/YaBB.cgi?board=Networking;action=display;num=1081506714;start=0#0

I presume this is with Memory Mapped Files or direct allocated byte buffers? I was able to leak GB as a result of this:

http://developer.java.sun.com/developer/bugParade/bugs/4938372.html

I’m not convinced that the evaluation is correct — I have also had the same problem where the memory mapped regions merely abutted rather than overlapped.

However it was fiendishly difficult to come up with the small test case that I eventually presented. Small, seemingly innocuous changes would change the behaviour.

In its current state I think the memory mapping capability is almost useless.

[replied in other thread, since this was about the problem rather than memory-leak monitoring :)]

any Cish tools like valgrind or purify can fit ?