To give you an estimate of how many memory related resources you will need to run a Java application server or a Java application within Java Virtual Machine we tested some popular ones and are publishing results below. The survey will be updated as needed. As you start to access your application the memory usage will grow as dynamically created objects will be allocating memory from heap, classes previously unloaded can be loaded again and native code compilation may be taking place. The application servers are in pristine and idle state - installed and started within a JVM with JMX support. The same approach has been applied to applications. You can see high non-heap PermGen memory usage when you have number of classes loaded for example with a comprehensive framework like Grails. In such cases PermGen JVM limit tuning may be necessary (for example -XX:MaxPermSize=96m added to $JAVA_OPTS environment variable). At JVM Host we can change MaxPermSize on request...