Specifically, why would it help to fix a PermGen OutOfMemoryError issue?
Also, bonus points for an answer that points me to the documentation on JVM arguments...
This question is related to
java
jvm
jvm-arguments
-XX:PermSize -XX:MaxPermSize
are used to set size for Permanent Generation.
Permanent Generation: The Permanent Generation is where class files are kept. These are the result of compiled classes and JSP pages. If this space is full, it triggers a Full Garbage Collection. If the Full Garbage Collection cannot clean out old unreferenced classes and there is no room left to expand the Permanent Space, an Out-of- Memory error (OOME) is thrown and the JVM will crash.
In Java 8 that parameter is commonly used to print a warning message like this one:
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=512m; support was removed in 8.0
The reason why you get this message in Java 8 is because Permgen has been replaced by Metaspace to address some of PermGen's drawbacks (as you were able to see for yourself, one of those drawbacks is that it had a fixed size).
FYI: an article on Metaspace: http://java-latte.blogspot.in/2014/03/metaspace-in-java-8.html
Source: Stackoverflow.com