Tomcat Planning
Memory Allocation
You will need to determine how much memory to assign to Tomcat. This is Tomcat’s “heap” memory.
You can estimate requirements for memory to discussing this with you PhixFlow implementation team, or PhixFlow Support. However, in many cases, it is not easy to estimate the precise amount of memory that will be required in the long term because solutions built in PhixFlow change over time, and the memory requirements may change as data volumes and the user base changes. It is useful to track the amount of memory needed as the solution runs and adapt accordingly.
There is a limit on the amount of memory you should assign so that Tomcat does not consume all the available memory on your server.
Again, as a very rough rule of thumb, allow at least 2 GB for the operating system. In practice, the kernel probably requires a lot less than this, but there are are utilities and other essential programs required for a running server that consume memory. In practice, if you have a large server, you may find that you need more than this for the server to run efficiently. Remember that this is only a very rough rule of thumb.
Other processes will include anything you have installed on the server, including:
A database, if you are running Tomcat and the database on the same server
A reverse proxy, if you are also running this on the same server; although in general these will have a minor footprint across all resources (CPU, memory, storage) for most PhixFlow instances
Anti-virus, and other security and monitoring software; see note at the bottom of this page to make sure that any anti-virus software does not interfere with MySQL
Tomcat will consume memory in addition to the assigned heap memory; you should allow a 20% overhead on the assigned memory.
You can estimate a suitable memory setting with the calculation:
[tomcat heap memory] * 1.2 + [memory for other processes] + 2 GB < [total server memory]
See Install Tomcat on Linux or Install Tomcat on Windows for details of how to apply the memory setting.