Richard Tookey wrote:I find it worrying that this 'out of memory' is happening inside a Servlet. If the Servlet handles many simultaneous requests then it is possible that two or more FOP transformation will be active at the same time and if you are short of memory with just one request then, obviously, you are going to be worse off with two or more simultaneous requests. You may have to consider having a process, maybe external to the Servlet container, which queues FOP transformations to make sure that you limit the number of active transformations. Of course this could mean that your average response time will increase but that must be better than an 'out of memory' condition.
Tim Holloway wrote:
The issue here isn't "running out of memory", it's running out of PermGen memory. PermGen space isn't the same thing as general space. It's allocated differently, and, as I mentioned before, it's not as big as the regular heap memory pool. Nor can adjusting the heap limits help, since there's a completely separate parameter that sets the PermGen size.
Tim Holloway wrote:, which is a lot faster and easier than re-architecting the app for gains which may or may not materialize.