On Oct 13, 2009, at 7:03 PM, Vincent Massol wrote:
Hi,
I've played a bit with Yourkit and a default XE to see the memory
requirements. Here are some preliminary results (more tests needed):
* After home page loaded: 38MB non-heap, 6377 classes
* After code macro execution: 38 --> 52MB non heap, 8629 classes
<--- a lot
* After groovy macro execution: 52 --> 56MB, 9920 classes
* After treeview + opened top level nodes: 56MB --> 63MB, 10960
classes <-- a lot
* After Import: 63MB --> 65MB, 13036 classes
* After Export: no change
* After navigating a bit everywhere at random: heap memory needed:
155MB (used: 132MB), non heap: 65MB, classes: 13078
* After adding attachment of 1.1MB: almost no change
* After deletion of 1.1MB attachment: used memory from 98MB to
132MB !! But still within the 155MB allocated heap memory
Conclusion so far:
==============
* We need around < 80MB non heap memory and < 200MB heap memory for
the default XE pages and if the user manipulates attachments less
than 1MB.
* The default permgen size is 64MB so we're just above it (65MB).
That's why some users have reported permgen issues I believe. Jython
is eating a lot of it (14MB)
* After adding a 7.3MB attachment: heap memory max from 155 to 261
(=>110MB!)
* After removing it, need 297MB heap (even more)
Second conclusion:
==============
* Apart from attachments the memory needs seem reasonable IMO (<
255MB).
* I'd still need to make sure I test all features of the wiki to be
sure
* Obviously: We must absolutely fix the attachment memory issue
BTW I had a max memory of 300MB and I got a OOM error so it's possible
that the 7.3MB attachment actually needed even more than the 297MB used.
Thanks
-Vincent
What more should I test? What should we do to reduce our permgen
needs? Should we reduce it?
Thanks
-Vincent