We have got a website where content is developed using a cms. We have got
Staging server --- where content is developed
Delivery server ---- content is published to
Satellite server ---- which pulls content from delivery server and which end user accesses.
End user accesses the satellite server to access the website and it has got Apache 2.2.11, tomcat 5.5.27 running on it.
We been getting heap memory errors in the logs now and then on satellite server and whenever it happens website is not accessible(server responds with error code 500) and restarting the tomcat fixes the problem. I been looking in terms of memory settings on tomcat, it has initial memory pool of 1500 MB and maximum memory pool of 1600 MB.
Dont have a clue why it is running out of memory every now and then.the traffic we are getting is not a lot and don't know why it is running out of memory every now and then?
A common problem causing out of memory problems in Tomcat are objects which are allocated but not freed. They eat up slowly the available memory and the garbage collector is not able to reuse them for other purposes because there are still stale references to those objects.
You can find quite some information about memory leakage and protection measures in Tomcat in the Tomcat wiki [wiki.apache.org].