调整JVM内存

添加属性键值对:

-Xms256m    堆内存初始

-Xmx512m    堆内存最大

-XX:MaxNewSize=256m  内存永久保存区域 默认

-XX:MaxPermSize=512m   内存永久保存区域 最大值

1、java.lang.OutOfMemoryError: Java heap space ---- JVM Heap(堆)溢出。JVM 在启动的时候自动设置 JVM Heap的值,其初始被单(即 -Xms)是物理内存的 1/64, 最大空间(-Xmx)不可超过物理内存

    可以利用 JVM 提供的 -Xmn -Xms -Xms -Xmx 等选项可以进行设置。 Heap 的大小是 Young Generation 和 Tenured Generaion 之和。

    解决方法: 手动设置 JVM Heap (堆) 的大小。

2、java.lang.OutOfMemoryError: PermGen space  ---- PermGen space 溢出。

    PermGen space 的全称是 Permanent Generation space, 是指内存的永久保存区域。

    为什么会内存溢出,这是由于这块内存主要是被 JVM 存放 Class 和 Meta 信息的, Class 在被 Load  的时候被放入PermGen space 区域, 它和存放 Instance 的 Heap 区域不同, sun的 GC 不会在主程序运行期对 PermGen space 进行清理, 所以如果你的 App 会载入很多 CLASS  的话, 就很可能出现  PermGen space 溢出。

    解决办法: 手动设置 MaxPermSize 的大小

你可能感兴趣的:(tomcat优化)