配置Tomcat启动JVM时分配的内存
JVM内存分配默认情况说明
JAVA_OPTS="-server -Xms2048m -Xmx2048m -XX:PermSize=128M -XX:MaxPermSize=128m"
| JVM内存配置参数 | 描述 |
|---|---|
| -Xmx | Java Heap最大值,默认值为物理内存的1/4; |
| -Xms | Java Heap初始值,Server端JVM最好将-Xms和-Xmx设为相同值,开发测试机JVM可以保留默认值; |
| -Xmn | Java Heap Young区大小,不熟悉最好保留默认值; |
| -XX:PermSize | 设定内存的永久保存区域; |
| -XX:MaxPermSize | 设定最大内存的永久保存区域; |
| -XX:NewSize | 设置JVM堆的新生代的默认大小; |
| -XX:MaxNewSize | 设置JVM堆的新生代的最大大小; |
| -Xss | 每个线程的Stack大小,不熟悉最好保留默认值; |
JVM堆内存分配
-Xms约定了JVM启动是初始化分配物理内存,默认为物理内存的1/64; -Xmx约定了JVM运行时最大分配的物理内存,默认是物理内存的1/4;
在JVM运行时,当JVM空闲堆内存大于自身占用内存的70%时,JVM就会自动释放对内存一直达到-Xms约定的最小值,JVM调整自身堆内存时通常是在GC后发生。
内存优化
- 所以我们可以手动去设置-Xms与-Xmx相等,避免在每次GC 后调整堆的大小。
- 建议堆内存的最大值设置-Xmx为可用内存的最大值的80%。
内存溢出
- -Xms<-Xmx时,JVM启动失败;
- -Xmx> 可用物理内存时,JVM启动失败
CentOS 7安装Tomcat 8的JVM内存优化

本文介绍了如何在CentOS 7上安装Tomcat 8并进行JVM内存优化,包括堆内存和非堆内存的默认分配、异常错误及其解决方法。同时,详细阐述了通过catalina.sh和daemon.sh启动配置JVM内存的步骤,旨在提高Tomcat的性能和稳定性。
最低0.47元/天 解锁文章
3629

被折叠的 条评论
为什么被折叠?



