Yep, that's what I figured. I should add the memory usage seems to have stabilized at approximately 55% of all memory. Looking at the logs I see that starting about an hour and a half from launch lots of sessions regularly expire. I assume a session is being created per POST and then expires some time later. Since all the POSTs are coming from the same source, is it possible to make more efficient use of sessions (ie have fewer of them)? Do I need to change something in the source (I have control over it) or in the Lift app?
Thanks, Peter On Jul 28, 3:28 pm, Ross Mellgren <[email protected]> wrote: > If it's a left-to-right sawtooth (e.g. increasing linearly over time > and then sharply dropping) then that's probably garbage accumulating > then the GC running. > > -Ross > > On Jul 28, 2009, at 6:23 PM, Peter Robinett wrote: > > > > > Nope, haven't touched any of the files. As for the increases, they do > > not appear to, since requests happen approximately every second and > > the length of each spike is around one minute. > > > Peter > > > On Jul 28, 3:16 pm, Naftoli Gugenheim <[email protected]> wrote: > >> It would redeploy if you were using mvn jetty:run and you changed > >> files in the webapp. > >> Do the increases correspond to (specific) requests? > > >> ------------------------------------- > > >> Peter Robinett<[email protected]> wrote: > > >> Thanks, Naftoli. After running for an hour the app is using 45-60% of > >> my (very little) memory. It appears that memory is being used in a > >> sawtooth pattern, with the baseline gradually creeping upwards.[1] I > >> don't see any mention in the logs of any redeployments. > > >> Peter > > >> [1]:http://www.bubblefoundry.com/lift/jconsole-overview.jpg > > >> On Jul 28, 2:15 pm, Naftoli Gugenheim <[email protected]> wrote: > > >>> You can monitor it with jconsole. > >>> Is the memory building up gradually and not being garbage > >>> collected? Is it being redeployed without restarting jetty? > > >>> ------------------------------------- > > >>> Peter Robinett<[email protected]> wrote: > > >>> Thanks all for the comments and suggestions. I'm totally new to the > >>> Java world, so thanks for mentioning all these various options. > > >>> First, my system: MySQL is the database I'm using with my Lift app > >>> (and some other very low traffic apps) and is tuned pretty > >>> aggressively to use little memory. It seems to only use tens of > >>> megabytes. My Lift app is based upon 1.1-SNAPSHOT and archetype > >>> lift- > >>> archetype-basic. > > >>> Second, JVM options and analysis: how should I pass options to the > >>> JVM > >>> when launching jetty and Lift with 'mvn jetty:run'? What heap size > >>> should I use? How do I monitor a JVM process? My actors being > >>> notified > >>> of the REST POSTs are scala.actors, as I understood them to be > >>> sufficient[1]: class NodeActor extends Actor with ListenerManager. > >>> The > >>> CometActors that listen to the NodeActors are defined like: class > >>> NodeGraph extends CometActor. > > >>> Thanks for your help, > >>> Peter > > >>> [1]:http://groups.google.com/group/liftweb/msg/86d518b0c44b1b58? > >>> hl=en > > >>> On Jul 28, 10:31 am, Spencer Uresk <[email protected]> wrote: > > >>>> I'm not sure about how much overhead Jetty adds to the mix (I'd > >>>> assume it > >>>> would be small, but I could be wrong), but on my production > >>>> server, a small > >>>> Lift app added only 30 - 40 mb or so to the memory usage of my > >>>> Tomcat > >>>> instance. Based on my experience with running Java and Groovy based > >>>> applications on a VPS, a 256 mb slice should be plenty unless you > >>>> have lots > >>>> of concurrent sessions and/or big sessions. If people are having > >>>> a different > >>>> experience with Lift-based apps, I'd be interested in hearing > >>>> that (and > >>>> why). > > >>>> Peter, Have you tried running jmap on your box to generate a heap > >>>> dump and > >>>> then analyzing that to see what is using up all the memory? Using > >>>> something > >>>> like MAT (www.eclipse.org/mat/) makes it pretty easy to see what > >>>> the likely > >>>> culprits are, and then you can go from there. > > >>>> - Spencer > > >>>> On Tue, Jul 28, 2009 at 3:55 AM, Timothy Perrett > >>>> <[email protected]>wrote: > > >>>>> Agreed; its pretty light to run all those services. I have a > >>>>> lift based app > >>>>> that's been running for quite some time and its using around > >>>>> 250mb of RAM > >>>>> on > >>>>> average. A raw lift app will probably use 128mb RAM as minimum. > > >>>>> Cheers, Tim > > >>>>> On 28/07/2009 10:08, "marius d." <[email protected]> wrote: > >>>>>> BTW 256mb seems to me ridiculous small for a server side > >>>>>> application. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Lift" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/liftweb?hl=en -~----------~----~----~----~------~----~------~--~---
