HotSpot Serviceability Agent for BSD
brian at experts-exchange.com
Tue Feb 3 09:32:22 PST 2009
I'll check out #1 for you later in the week after I release another
version of my openjdk6 patch. :)
Greg Lewis wrote:
> I've been toying with the idea of porting the HotSpot Serviceability Agent
> (http://openjdk.java.net/groups/hotspot/docs/Serviceability.html) to BSD
> for a while now.
> Brian Gardner's work on getting jmap -dump and jmap -histo to work for
> FreeBSD's jdk16 port catalysed this. A work in progress patch is
> available at http://www.eyesbeyond.com/freebsddom/java/saproc.diff
> This allows me to use the other jmap options (-finalizerinfo, -heap,
> -permstat) and allows jinfo to work. It should also get jsadebugd
> to work, but I haven't tried that yet.
> The patch is for OpenJDK7 and includes changes based in part on
> Brian's work (so jmap -dump and jmap -histo work as well).
> There are some serious caveats so far though.
> 1. The Java process being attached to appears to be killed after the
> attachment completes. So I can, for example, run 'jmap -permstat <pid>'
> and get the expected output, but then <pid> dies. I haven't looked
> into this yet, but its obviously a big problem :).
> 2. It works on FreeBSD 7.x only since it uses the undocumented
> kinfo_getvmmap function to look up information about the shared
> libraries that the process has open. I suspect we can do something
> with libkvm for OpenBSD and NetBSD. Anyone know how to do this on
> Mac OS X? On Linux (which is what I ported against) this is done
> by looking at /proc/<pid>/maps. Better suggestions?
> 3. It includes the hsearch_r source from GNU libc since BSD doesn't have
> this. I don't think this is a problem license wise, but in case it is
> I think we can come up with something similar that is available on
> BSD. I just grabbed it 'cos it was simpler at the time to keep things
> as close to the Linux version as was reasonable.
> For me this moves us towards closing one of our only feature gaps (as I
> see it). But it definitely needs some more review and fixing, so all
> comments, patches, etc. appreciated.
More information about the bsd-port-dev