While learning about java memory profiling, I keep seeing the term \"perm space\" in addition to \"heap.\" I know what the heap is - what\'s perm space?
It stands for permanent generation:
The permanent generation is special because it holds meta-data describing user classes (classes that are not part of the Java language). Examples of such meta-data are objects describing classes and methods and they are stored in the Permanent Generation. Applications with large code-base can quickly fill up this segment of the heap which will cause
java.lang.OutOfMemoryError
: PermGen no matter how high your -Xmx and how much memory you have on the machine.