Additional: - DO NOT USE THE WRAPPER! Here is my command line (stick it all on one line, change paths to reflect your local setup):
java -Xmx300M -cp "/usr/src/cvs/eclipse-workspace/Freenet 0.7/bin:/usr/src/cvs/eclipse-workspace/Freenet 0.7/lib/freenet-ext.jar" -Dnetworkaddress.cache.ttl=0 -Dnetworkaddress.cache.negative.ttl=0 -Xloggc:freenet.loggc -Xrunhprof:heap=all,format=a,depth=12,lineno=y,doe=y,gc_okay=y freenet.node.NodeStarter freenet-darknet.ini - Search for SITES in the output file. It's not always at the end of the file, e.g. if you did a kill -QUIT and let it keep on running. On Fri, Feb 16, 2007 at 02:03:44AM +0000, Matthew Toseland wrote: > I have been trying to profile a running node with queued requests and > inserts. I have previously profiled nodes without queued > requests/inserts, so I had assumed this would be possible. But it > appears not to be. After many hours spent on this (mostly waiting for it > to do something), it still doesn't work. So far: > > Add to or change wrapper.conf: > wrapper.java.additional.3=-Xloggc:freenet.loggc > wrapper.java.additional.4=-Xrunhprof:heap=all,format=a,depth=12,lineno=y,doe=y,gc_okay=y > wrapper.startup.timeout=0 > wrapper.shutdown.timeout=0 > wrapper.jvm_exit.timeout=0 > wrapper.ping.timeout=0 > wrapper.disable_restarts=true > > Add to or change freenet.ini: > logger.priority=NORMAL > node.disableHangCheckers=true > > (and remove any detailed log thresholds) > > The latest: > [01:52] <toad_> i don't understand it > [01:52] <toad_> everything i have done to try to get profiling to work > while there are actual requests queued has been thwarted > [01:52] <toad_> this is the latest: > [01:52] <toad_> INFO | jvm 1 | 2007/02/16 01:28:33 | Dumping Java > heap ... > [01:52] <toad_> half an hour later, it's not using any CPU > [01:52] <toad_> and apparently not doing anything > [01:53] <toad_> but it hasn't dumped the heap > [01:53] <toad_> nor has freenet resumed operations > [01:53] <toad_> which is insane > [01:54] <toad_> i don't think the right answer is not to address the > problem, because if i can't get profiling data, how can i know whether > doing XYZ to reduce memory usage will actually hit a significant part of > the problem? > [01:54] <toad_> you end up with complex code which doesn't actually help > matters that way > [01:57] <thatjoe> Is there a way to get an object (or byte) count by > type? > [01:59] <thatjoe> I wish I could be of help. I haven't done heavy-duty > Java debugging in ages. If you want to port it to .NET I could help you > track down memory problems, piece of cake! :) > [01:59] <toad_> thatjoe: with jmap yes > [01:59] <toad_> but that's not very helpful > [01:59] <toad_> hprof lets you have detailed numbers on each backtrace > [01:59] <toad_> which is VERY helpful > [01:59] <toad_> but it's not working at all now > [02:00] <toad_> also when i tried jmap <pid of java running fred> it > didn't work :< > _______________________________________________ > Devl mailing list > Devl at freenetproject.org > http://emu.freenetproject.org/cgi-bin/mailman/listinfo/devl -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 189 bytes Desc: Digital signature URL: <https://emu.freenetproject.org/pipermail/devl/attachments/20070216/81f89887/attachment.pgp>