Tomcat内存配置

2022-06-23  本文已影响0人  催化剂

set JAVA_OPTS=-Xms512m -Xmx4096m -XX:PermSize=512m -XX:MaxPermSize=1024m -XX:-UseGCOverheadLimit

【重要】非堆区MaxPermSize最大的大小不能超过最大内存Xmx的1/4

堆设置

-Xms :初始堆大小

-Xmx :最大堆大小

-XX:NewSize=n :设置年轻代大小

-XX:NewRatio=n: 设置年轻代和年老代的比值。如:为3,表示年轻代与年老代比值为1:3,年轻代占整个年轻代年老代和的1/4

-XX:SurvivorRatio=n :年轻代中Eden区与两个Survivor区的比值。注意Survivor区有两个。如:3,表示Eden:Survivor=3:2,一个Survivor区占整个年轻代的1/5

-XX:MaxPermSize=n :设置持久代大小

收集器设置

-XX:+UseSerialGC :设置串行收集器

-XX:+UseParallelGC :设置并行收集器

-XX:+UseParalledlOldGC :设置并行年老代收集器

-XX:+UseConcMarkSweepGC :设置并发收集器

垃圾回收统计信息

-XX:+PrintGC

-XX:+PrintGCDetails

-XX:+PrintGCTimeStamps

-Xloggc:filename

并行收集器设置

-XX:ParallelGCThreads=n :设置并行收集器收集时使用的CPU数。并行收集线程数。

-XX:MaxGCPauseMillis=n :设置并行收集最大暂停时间

-XX:GCTimeRatio=n :设置垃圾回收时间占程序运行时间的百分比。公式为1/(1+n)

并发收集器设置

-XX:+CMSIncrementalMode :设置为增量模式。适用于单CPU情况。

-XX:ParallelGCThreads=n :设置并发收集器年轻代收集方式为并行收集时,使用的CPU数。并行收集线程数。

-Xms

#指设定程序启动时占用内存大小。(堆区配置)

一般来说,启动时占用的内存大点程序会启动得快一点,但是也可能导致机器暂时变慢。

通常为操作系统可用内存的1/64大小即可,但仍需按照实际情况进行分配。

-Xmx

#指设定程序运行期间最大可以占用的内存大小。(堆区配置)

如果程序运行需要占用更多的内存,超出了这个设置的值,就会抛出OutOfMemory异常。

通常为操作系统可用内存的1/4大小。

##通常会将 -Xms 和 —Xmx两个参数的配置相同的值,

  其目的是为了能够在java垃圾回收机制清理完堆区后不需要重新分隔计算堆区的大小,

  从而提高性能。

##JVM中最大堆大小有三方面的限制:

(1)相关操作系统的数据模型(32-bit 还是 64-bit)限制;

(2)系统的可用虚拟内存限制;

(3)系统可用物理内存限制。

  32位系统下,一般限制在1.5~2G,64位操作系统对内存无限制。

-XX:PermSize

#指非堆区初始化内存分配大小。(非堆区配置)

-XX:MaxPermSize

#指对非堆区分配内存的最大上限。(非堆区配置)

https://blog.csdn.net/renfufei/article/details/76350794

上一篇 下一篇

猜你喜欢

热点阅读