Yes - quite large. I'm hoping someone has an idea to overcome this. There were definitely not 4500+ unique users on the site at the time.
There were two copies of the same app deployed on that server at the time - one was a staging environment, not being indexed, which is probably where the extra ten wicket sessions came from. Any ideas? Jeremy On 4/9/08, Johan Compagner <[EMAIL PROTECTED]> wrote: > > 4585 tomcat sessions? > > thats quite large if may say that.. > and even more 10 wicket sessions that tomcat sessions > Do you have multiply apps deployed on that server? > > if a search engine doesnt send a cookie back then the urls should be > encoded with jsessionid > and we get the session from that.. > > johan > > > > On Thu, Apr 10, 2008 at 12:22 AM, Jeremy Thomerson < > [EMAIL PROTECTED]> wrote: > > > I finally am able to get a good analysis of it. It dumped two memory > > dumps > > when it died in the past couple days (it's still dying about once or > > twice a > > day). Using this GREAT tool: > > > > https://www.sdn.sap.com/irj/sdn/wiki?path=/display/Java/Java+Memory+AnalysisI > > am able to see deep memory views that tell me what is taking up the > > memory. > > > > Each time it dies, it is usually during heavy web crawler traffic from > > Google / Ask.com / etc. The memory tool shows me having: > > 4585 instances of org.apache.catalina.session.StandardSession, totaling > > 984,160,016 bytes of memory (I give Tomcat 1GB). > > 4595 instances of com.texashuntfish.web.wicket.WebSession, totaling > > 530,524,680 bytes of memory. > > > > I have had the session expiration turned down to 90 minutes in Tomcat > > for a > > very long time. So, this means that 4,585 sessions are created in 90 > > minutes, right? It seems like I shouldn't have this many sessions, > > right? > > Are the search engines crawlers creating a new session for every page > > they > > hit? I'm going to put some logging output in my subclass of WebSession > > that > > tells me when it's being created, and by what IP so that I can take a > > look > > at this. > > > > Does anyone have any ideas? I don't know what my session counts were in > > 1.2.6, but I never ran into this problem or ran out of memory, excecpt > > for > > about a year and a half ago when I had session lengths turned up to a > > couple > > days long. > > > > Thank you, > > Jeremy Thomerson > > > > > > On Fri, Apr 4, 2008 at 12:03 AM, Jeremy Thomerson < > > [EMAIL PROTECTED]> wrote: > > > > > Nope - one page never holds on to another. I never even pass pages > > into > > > another page or link or something as a reference. > > > > > > Interestingly, I DECREASED the memory the JVM could have from 1.5 GB > > to > > > 1.0 GB today, and it has been stable all day (after also releasing a > > version > > > using Wicket 1.3.3). That's not a definite sign - it was stable for > > several > > > days after upgrading to 1.3.2 from 1.2.6 before freaking out. But > > I'll > > > watch it closely. The memory creeped slowly up to the max, and has > > stayed > > > there, but without the site crashing, and without any degradation of > > > performance. Does that give anyone any ideas? I'm so exhausted, I > > think > > > that I'm starting to lose my ability to think freshly about it. > > > > > > Thank you, > > > Jeremy > > > > > > > > > On Thu, Apr 3, 2008 at 5:44 PM, Matej Knopp <[EMAIL PROTECTED]> > > wrote: > > > > > > > This is really weird. Do you have any inter-page references in your > > > > application? > > > > > > > > -Matej > > > > > > > > On Thu, Apr 3, 2008 at 9:35 PM, Jeremy Thomerson > > > > <[EMAIL PROTECTED]> wrote: > > > > > The oddness is what baffles me: Tomcat has no output anywhere. I > > have > > > > > grepped and tailed the entire Tomcat logs directory, stdout*, > > > > stderr*, > > > > > localhost*, etc. Nothing in eventvwr. > > > > > > > > > > It must be memory related, though. There is a steadily > > increasing > > > > memory > > > > > footprint - it was increasing so fast yesterday because we were > > > > getting > > > > > pounded by tons of traffic and Google's crawler and Ask's crawler > > all > > > > > simultaneously. Of course, the traffic was still no higher than > > it > > > > has been > > > > > in the past - this is definitely a new problem. > > > > > > > > > > I redeployed today with the pending 1.3.3 release built by Frank > > to > > > > see if > > > > > my leak could be the same as Martijn's below, but the memory > > > > continues to > > > > > increase. It will die soon. I have added the parameter to tell > > it > > > > to dump > > > > > on OOM - hopefully I got the right parameter and it will work. > > > > > > > > > > Anyone here know how to (or if you can) use jstat / jmap with > > > > tomcat5.exe, > > > > > running as Windows service? All my development is on Linux > > machines, > > > > and I > > > > > can easily use those tools, but on the Windows prod environment > > > > (ughh), jps > > > > > doesn't give me a VMID for Tomcat. > > > > > > > > > > Thank you for your help! > > > > > Jeremy > > > > > > > > > > > > > > > > > > > > On Thu, Apr 3, 2008 at 2:27 PM, Al Maw <[EMAIL PROTECTED]> wrote: > > > > > > > > > > > You can use as many anonymous inner classes as you like. I have > > > > them > > > > > > coming > > > > > > out of my ears, personally. > > > > > > > > > > > > It's very odd for tomcat to die with no output. There will be > > > > output > > > > > > somewhere. Check logs/catalina.out and also logs/localhost*. If > > the > > > > JVM > > > > > > dies, it will hotspot or even segfault and log that, at least. > > If > > > > you have > > > > > > gradually increasing memory footprint then this should be > > pretty > > > > easy to > > > > > > track down with a profiler. > > > > > > > > > > > > Make sure you run Tomcat with a sensible amount of permanent > > > > generation > > > > > > space (128M+). > > > > > > > > > > > > Regards, > > > > > > > > > > > > Alastair > > > > > > > > > > > > > > > > > > > > > > > > On Thu, Apr 3, 2008 at 6:43 AM, Martijn Dashorst < > > > > > > [EMAIL PROTECTED]> > > > > > > wrote: > > > > > > > > > > > > > There are commandline options for the jvm to dump on OOM. > > > > > > > > > > > > > > Anyway, doesn't the log file give any insight into what is > > > > happening > > > > > > > in your application? Did you (or your sysadmin) disable > > logging > > > > for > > > > > > > Wicket? > > > > > > > > > > > > > > You can also run external tools to see what is happening > > inside > > > > your > > > > > > > JVM without blocking the app. e.g. use jmap -histo to see how > > > > many > > > > > > > objects are alive at a particular moment. The top 10 is > > always > > > > > > > interesting. In my case I found a memory leak in the > > > > diskpagestore > > > > > > > when exceptions occurred during writing to disk. This is > > solved > > > > in > > > > > > > 1.3.3 (which is just days away from an official release, try > > it!) > > > > > > > > > > > > > > jstat -gc -h50 <pid> 1000 will log the garbage collector > > > > statistics > > > > > > > every second. > > > > > > > > > > > > > > Martijn > > > > > > > > > > > > > > On 4/3/08, Jeremy Thomerson <[EMAIL PROTECTED]> > > wrote: > > > > > > > > I upgraded my biggest production app from 1.2.6 to 1.3 last > > > > week. I > > > > > > > have > > > > > > > > had several apps running on 1.3 since it was in beta with > > no > > > > problems > > > > > > - > > > > > > > > running for months without restarting. > > > > > > > > > > > > > > > > This app receives more traffic than any of the rest. We > > have > > > > a > > > > > > decent > > > > > > > > server, and I had always allowed Tomcat 1.5GB of RAM to > > > > operate with. > > > > > > > It > > > > > > > > never had a problem doing so, and I didn't have > > OutOfMemory > > > > errors. > > > > > > > Now, > > > > > > > > after the upgrade to 1.3.2, I am having all sorts of > > trouble. > > > > It ran > > > > > > > for > > > > > > > > several days without a problem, but then started dying a > > > > couple times > > > > > > a > > > > > > > > day. Today it has died four times. Here are a couple odd > > > > things > > > > > > about > > > > > > > > this: > > > > > > > > > > > > > > > > - On 1.2.6, I never had a problem with stability - the > > app > > > > would > > > > > > run > > > > > > > > weeks between restarts (I restart once per deployment, > > > > anywhere > > > > > > from > > > > > > > once a > > > > > > > > week to at the longest about two months between deploy / > > > > restart). > > > > > > > > - Tomcat DIES instead of hanging when there is a > > problem. > > > > Always > > > > > > > > before, if I had an issue, Tomcat would hang, and there > > > > would be > > > > > > OOM > > > > > > > in the > > > > > > > > logs. Now, when it crashes, and I sign in to the > > server, > > > > Tomcat is > > > > > > > not > > > > > > > > running at all. There is nothing in the Tomcat logs > > that > > > > says > > > > > > > anything, or > > > > > > > > in eventvwr. > > > > > > > > - I do not get OutOfMemory error in any logs, whereas I > > have > > > > always > > > > > > > > seen it in the logs before when I had an issue with > > other > > > > apps. I > > > > > > am > > > > > > > > running Tomcat as a service on Windows, but it writes > > stdout > > > > / > > > > > > stderr > > > > > > > to > > > > > > > > logs, and I write my logging out to logs, and none of > > these > > > > logs > > > > > > > include ANY > > > > > > > > errors - they all just suddenly stop at the time of the > > > > crash. > > > > > > > > > > > > > > > > My money is that it is an OOM error caused by somewhere > > that I > > > > am > > > > > > doing > > > > > > > > something I shouldn't be with Wicket. There's no logs > > that > > > > even say > > > > > > it > > > > > > > is > > > > > > > > an OOM, but the memory continues to increase linearly over > > > > time as > > > > > > the > > > > > > > app > > > > > > > > runs now (it didn't do that before). My first guess is my > > > > previous > > > > > > > > proliferate use of anonymous inner classes. I have seen > > in > > > > the email > > > > > > > > threads that this shouldn't be done in 1.3. > > > > > > > > > > > > > > > > Of course, the real answer is that I'm going to be digging > > > > through > > > > > > > profilers > > > > > > > > and lines of code until I get this fixed. > > > > > > > > > > > > > > > > My question, though, is from the Wicket devs / experienced > > > > users - > > > > > > > where > > > > > > > > should I look first? Is there something that changed > > between > > > > 1.2.6 > > > > > > and > > > > > > > 1.3 > > > > > > > > that might have caused me problems where 1.2.6 was more > > > > forgiving? > > > > > > > > > > > > > > > > I'm running the app with JProbe right now so that I can > > get a > > > > > > snapshot > > > > > > > of > > > > > > > > memory when it gets really high. > > > > > > > > > > > > > > > > Thank you, > > > > > > > > > > > > > > > > Jeremy Thomerson > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > Buy Wicket in Action: http://manning.com/dashorst > > > > > > > Apache Wicket 1.3.2 is released > > > > > > > Get it now: http://www.apache.org/dyn/closer.cgi/wicket/1.3.2 > > > > > > > > > > > > > > > > > > > > --------------------------------------------------------------------- > > > > > > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > > > > > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > Resizable and reorderable grid components. > > > > http://www.inmethod.com > > > > > > > > > > --------------------------------------------------------------------- > > > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > > > > > > > > > > > >