Hello everyone.
I recently develop my App use Wicket1.3.3. It's my first time to use this
framework and I feel it's really really a perfect framework for me.
My app support both Simplified Chinese , Traditional Chinese, I implement
this with Wicket i18n feature.
With the load increasing these days, I found my app would become very lag
abount every 24 hours ,so that i would only restart it
without any choice.
when I found the lag, My log records many Exceptions like :
"after 1 minute the Pagemap null is still locked by:
Thread[http-8080-321,5,main], giving
up trying to get the page for path xxx"
I check the JVM status with jstat -gc , It tells that the Heapsize is full
even after full GC.
My VM paraemter is "-Xms2000m -Xmx2000m -XX:MaxNewSize=250m
-XX:MaxPermSize=250m"
My deploy server has 2*CPU and 4G memory, Redhat AS4 OS + tomcat 6.0.
There're 2000 sessions on the day while the timeout threshold is 15 minutes.
So i dump the whole heapsize with the command " jmap
-dump:live,format=b,file=3.dump.hprof processid"
and i truely get a 2G size dump files. I use SAP Memory Analyer to see
what're stored in HeapMemory.
and I found a strange number of Retained Heap usage:
Classname
ShallowHeap RetainHeap
RetainedHeap%
[EMAIL PROTECTED]
16
1,755,070,352 87.64%
[EMAIL PROTECTED]
48 1,755,070,336 87.69%
[EMAIL PROTECTED]
33,554,448
1,755,069,632 87.69%
- [EMAIL PROTECTED]
24 3928
0.00%
- [EMAIL PROTECTED]
24 3928
0.00%
- [EMAIL PROTECTED]
24 3928
0.00%
- [EMAIL PROTECTED]
24 3928
0.00%
- [EMAIL PROTECTED]
24 3928
0.00%
- [EMAIL PROTECTED]
24 3928
0.00%
+ 2,863,659 more...
Is that means that the Localizer Object used most of the heap size?
or Is this number normal for Wicket App?
I wonder whether I forget to release the memory by my mis-using of i18n
feature?
Is there any attentions I must pay to when dealing with Localizer?
This problem annoys me more the 2 weeks. I really need some help. Thanks .