-XX:PermSize playing with the -XX:PermSize and -Xms , you can tune performance - for example, launching your application. I did not look at it recently, but a few years ago the default -Xms was something like 32 MB (I think) if your application needed a lot more than this would cause several memory cycles - full garbage collection - increase memory etc., until he has downloaded everything he needs. This cycle can be detrimental to startup performance, so immediately assigning the required number can improve startup.
A similar cycle applies to the permanent generation. Thus, setting these parameters can improve startup (in particular).
WARNING The JVM has a lot of optimizations and intelligence when it comes to allocating memory, dividing space and old generations, etc., so don't do things like -Xms equal to -Xmx or -XX:PermSize equal to -XX:MaxPermSize , because it will remove some of the optimizations that the JVM can apply to its distribution strategies, and to do so reduce the performance of your application, rather than improve it.
As always: take non-trivial measurements to prove that your changes actually improve overall performance (for example, improving startup times can be disastrous for performance while using the application)
Mark Rotteveel Dec 02 '11 at 2:59 p.m. 2011-12-02 14:59
source share