-Xmx

JVM调优之Tomcat启动参数配置及详解(一)

扶醉桌前 提交于 2019-12-06 06:49:14
开发项目中会遇到Tomcat内存溢出( java.lang.OutOfMemoryError: PermGen space )的问题,通过查找资料找到是通过设置Tomcat 启动堆空间大小、年轻代大小、每个线程大小参数进行调优的,具体如下: 一、在Tomcat 启动脚本(catalina.sh/catalina.bat)首行添加如下配置即可解决此问题 JAVA_OPTS="-Xms2048m -Xmx2048m -Xmn1024m -Xss1024K -XX:PermSize=128m -XX:MaxPermSize=512m" 1:-Xms 堆空间初始大小 2:-Xmx 堆空间最大数值 3:-Xmn 年轻代的堆大小 4:-Xss 每个线程堆大小 二、JVM堆大小的默认最大和最小值(参考) 操作系统及JVM类型 初始堆的大小(Xms) 最大堆的大小(Xmx) Linux/Solaris,32位客户端 16MB 256MB Linux/Solaris,32位服务器 64MB 取1GB和物理内存大小1/4二者中的最小值 Linux/Solaris,64位服务器 取512MB和物理内存大小1/64二者中的最小值 取32GB和物理内存大小1/4二者中的最小值 MacOS,64位服务器型JVM 64MB 取1GB和物理内存大小1/4二者中的最小值 32位Window系统,客户端型JVM