You appear to be running Tomcat in development mode.
This means that source of every JSP is held in memory to provide detailed messages in the event of an error. If you have large JSPs this will hurt. It looks like this accounts for 50MB+
From Tomcat's Production Configuration documentation:
The main JSP optimization which can be done is precompilation of JSPs. However, this might not be possible (for example, when using the jsp-property-group feature) or practical, in which case the configuration of the Jasper servlet becomes critical.
When using Jasper 2 in a production Tomcat server you should consider making the following changes from the default configuration.
- development - To disable on access checks for JSP
pages compilation set this to
- genStringAsCharArray - To generate slightly more efficient
char arrays, set this to
- modificationTestInterval - If development has to be set to
truefor any reason (such as dynamic generation of JSPs), setting this to a high value will improve performance a lot.
- trimSpaces - To remove useless bytes from the response,
set this to
Seems like good information to know.