Tomcat配置JVM参数

网友投稿 315 2022-09-29

Tomcat配置JVM参数

Tomcat配置JVM参数:

环境规格以2C4G为例

配置添加在Tomcat 的bin目录下catalina.sh 里,位置在cygwin=false 前。

JAVA OPTS="$JAVA OPTS - server - Xms2048m -Xmx2048m -Xmn768m -XX: ParallelGCThreads=2 -XX: PermSize=1024m-XX :MaxPermSize=1024m -Dj ava. awt . headless=true -XX: +Di sableExplicitGC" cygwin=false

参数说明:-server:一定要作为第一个参数,在多个CPU时性能佳

-Xms: 初始Java初始化堆的大小, 是分配JVM的最小内存,cpu性能高时此值应设的大一些

-Xmx: 最大Java堆的大小,是分配JVM的最大内存,取决于硬件物理内存的大小,建议-Xms与-Xmx设成一 样的值,均设为物理内存的一半。其目的是为了能够在java垃圾回收机制清理完堆区后不需要重新分隔计算堆区的大小而浪费资源。

-Xmn: 新生代的内存大小,官方推荐配置为整个堆的3/8。

区进一步细化分为: 新生代、中生代、老生代。

java中每新new--个对象所占用的内存空间就是新生代的空间,当java垃圾回收机制对堆区进行资源回收后,那些新生代中没有被回收的资源将被转移到中生代,中生代的被转移到老生代。

整 个JVM堆大小=新生代大小 +老生代大小 +永久代大小

-XX:Paralle1GCThreads: 配置并行收集器的线程数,即:同时有多少个线程- -起进行垃圾回收,此值建议配置与CPU数目相等。

-XX:PermSize: 设置非堆内存初始值,即持久代内存大小,默认是物理内存的1/64

-Xx:MaxPermSize: 最大非堆内存的大小,即最大持久代内存大小,默认是物理内存的1/4

●非堆区内存是不会被java垃圾回收机制进行处理的,且最大堆内存与最大非堆内存的和不能超出操作系统的可用内存。

●XMX和XMS设置一样大,MaxPermSize 和MinPermSize设置一样大,这样可以减轻伸缩堆大小带来的压力。

-Djava. awt . headless=true: 免避在Linux/Unix 环境下Web网页不能正常显示图片

-XX: +DisableExplicitGc:禁止调用System.gc(),防止误调用gc方法导致系统的JVM 大起大落而使系统响应时间严重降低。

-XX: +UseParNewGC:对新生代采用多线程并行回收,缩短垃圾收集的时间

-XX: +UseConcMarkSweepGC:并发标记清除收集器,它是老年代的收集算法,缩短垃圾收集的时间

-XX: +CMSParallelRemarkEnabled: 启用并行标记,降低标记停顿

-XX: +UseCMSCompactAtFullCollection

-XX :CMSFullGCsBeforeCompaction=0:这两个参数默认值就是这样的,表示触发FullGC时压缩堆,优化内存碎片

-XX:CMSInitiat ingOccupancyFraction=70: 在应用程序使用70%完内存后开始CMS垃圾收集

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:因为拾金不昧,老板涨我1000元工资
下一篇:Java实现带图形界面的聊天程序
相关文章

 发表评论

暂时没有评论,来抢沙发吧~