So my server has been running out of memory even though I’ve given it 1.5 Gb of heap.
I forced a dump and Eclipse is showing me :
132 instances of SocketSessionImpl occupy 312 MB and at least some of the instances take up 21MB
Digging down into these there is a concurrentLinkedQueue with a concurrentLinkedQueue$Node which links to another concurrentLinkedQueue$Node which links to another … for quite some time - obviously this is kinda expected each node in itself is fairly small but there appear to be rather a lot of them.
What is it that is in these nodes ? and what can I do to reduce the size of each of these session objects ?
I suppose I should add running Sun Java 1.5 Openfire 3.8.2 running on Linux. There are currently 450 users all of whom belong to multiple groups but one of the groups has every member in it. Predominant use is of MUC’s of which there are 41. PEP & Pub Sub is disabled.