|
From: Paul C. <cas...@au...> - 2004-04-07 23:09:11
|
Yep - looks like pushing for a 1.4.x upgrade is the way to go. Our app is a government GIS roads mapping tool for an Australian state (that's as much as I can say). On startup it loads all the data relating to each layer of the map (eg freeways / local raods / railway lines etc etc) into memory so that they are all there ready for 300+ users to turn on/off whichever layer(s) they want - when they want. I have a feeling that some of the problems with our app center around the printing method used. When the app was developed (around 5 years ago) Java printing was slow and problematic (according to code comments) and so the app generates a postscript or HPGL file using an OS installed print driver, then Java calls the Windows print command to send the file to the user's network printer. Since setting the min/max RAM to different values I've been able to get some more pieces to the puzzle when the app crashes. A couple of days ago someone ran a plot (print) and the system appeared to get into an infinite loop. The Windows CPU time for the Java process kept ticking over (second for second) - although CPU for the process was only 6-7% (which indicates that it's a complicated loop - possibly between the client and server - there was no network activity between the app server and the database server which have a dedicated network card). However, RAM for the Java process steadily increased towards the maximum from about 1300MB when I first saw it to 1730MB before the client requested a restart. I wanted to let it go till it crashed, but the client comes first. The app was initially written to transfer files from the server to the user's PC via FTP (yuck!), which I've scrapped and now just uses Tomcat (which was in use for another component of the app anyway). I'm thinking that the whole approach to printing needs to be overhauled, and I've read somewhere that 1.4.x has a new print api. Any ideas / pointers / suggestions (from anyone)? Has any reader had experience with network printing from Java? Any feedback would be greatly appreciated (as always). Regards, Paul Casanova |---------+----------------------------------------> | | Leif Mortenson | | | <le...@ta...> | | | Sent by: | | | wra...@li...| | | ceforge.net | | | | | | | | | 08/04/2004 12:09 AM | | | Please respond to | | | wrapper-user | |---------+----------------------------------------> >--------------------------------------------------------------------------------------------------------------| | | | To: wra...@li... | | cc: | | Subject: Re: [Wrapper-user] JVM hang - Xms / Xmx | >--------------------------------------------------------------------------------------------------------------| Paul, Paul Casanova wrote: >I tried adding -Xrunhprof:depth=8 to the config file, but the JVM always >suffers a runtime error r6017 ("unexpected multithread lock error") and >restarts. Any ideas? > > Doing a Google search on that error message. It looks like a C runtime error. In other words, Java is having a bad day. Searching the Sun Bug database, the following issue came up: http://developer.java.sun.com/developer/bugParade/bugs/4724252.html That bug says it has been fixed in Java 1.4.1. But the original post says that it not been a problem in 1.3.1_04. That just means that their app had not been able to reproduce it however. >Tried starting with initial heap size of 100MB and it took around the same >time to start as normal, but when I added the -Xrun... it started doing >full GC's when starting up the app, so it took longer. Mind you, before I >added -Xrun... it was doing around 10 GC's (not full) during startup with >100MB initial!! > >Does -Xrunhprof usually have such overhead / impact? > > Profiling takes a bunch of memory and also has a very noticeable effect of performance. Depending on the application of course, but it is usually still usable if you normally have enough CPU / Memory to spare. Most likely your app is using a bunch more memory than normal and is thus having problems hitting some upper memory limit. Have you tried increasing the max memory setting? If that is not possible, is it possible to test with a smaller data set? Cheers, Leif ------------------------------------------------------- This SF.Net email is sponsored by: IBM Linux Tutorials Free Linux tutorial presented by Daniel Robbins, President and CEO of GenToo technologies. Learn everything from fundamentals to system administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click _______________________________________________ Wrapper-user mailing list Wra...@li... https://lists.sourceforge.net/lists/listinfo/wrapper-user |