当前位置:首页 > 内存 > 正文

如何修改jvm内存大小(jvm堆内存默认大小)

  • 内存
  • 2024-05-17 01:14:34
  • 3015

一、如何设置Tomcat的JVM虚拟机内存大小

在javaweb应用程序开发过程中,经常会用到tomcat服务器,它的性能直接影响tomcatJVM的效率。如何在tomcat上设置JVM虚拟机内存大小:

1Tomcat作为应用服务器,不能直接运行。需要相应的硬件和操作系统的支持,需要虚拟机环境。也就是说,当tomcat启动时,JVM会为tomcat分配一个初始内存和一个最大内存,所以要增加tomcat的jvm内存,需要在启动时进行配置。

2在本地计算机上找到tomcat的安装目录,进入该目录,然后进入bin目录,在bin目录中找到。在linux环境下找到。

3右键编辑文件,找到JAVA_OPTS选项的位置。该参数是java启动时需要的启动参数。

4设置该参数为JAVA_OPTS='-Xms512m-Xmx1024m'表示初始分配内存为512MB,最大可使用内存为1024MB。

5还可以在操作系统的环境变量中设置JAVA_OPTS,因为tomcat启动时也会读取操作系统中环境变量的值。加载。

6如果操作系统环境变量发生更改,请重新引导机器,然后重新启动tomcat。如果更改了tomcat配置文件配置文件,然后重新启动tomcat,设置就会生效。


二、如何设置jvm的大小?jvm的大小收到哪些因素限制,例如系统可用虚拟内存以下配置主要针对分代垃圾回收算法。
调优堆大小
调优年轻代很关键
JVM中的最大堆大小有三个限制:对应操作系统的数据模型(32位版本))或64位版本)限制;可用系统虚拟内存的限制;系统可用物理内存的限制;在32位系统上,内存通常限制为1.5–2GB;64位操作系统没有内存限制。在WindowsServer2003系统上测试,物理内存3.5GB,JDK5.0,最大容量可设置为1478M
典型设置:
java-Xmx3550m-Xms3550m-Xmn2g–Xss128k
-Xmx3550m:设置。最大可用JVM内存为3550MB。
-Xms3550m:安装JVM,使内存大小为3550MB。该值可以与-Xmx相同的方式设置,以防止JVM在每次垃圾回收完成后重新分配内存。
-Xmn2g:设置年轻代大小为2G。整个堆大小=年轻代大小+老年代大小+永久代大小。永久代通常固定大小为64m,因此增加年轻代会减少老年代的大小。该值对系统性能影响较大。Sun官方建议使用等于整个堆的3/8的配置。
-Xss128k:设置每个线程的堆栈大小。JDK5.0之后,每个线程的堆栈大小为1MB。以前,每个线程的堆栈大小为256KB。调整更多应用程序线程所需的内存大小。给定相同的物理内存,减小该值可能会导致创建更多线程。但是,操作系统对进程中的线程数量仍然有限制,并且不能无限期地生成。经验值在3000-5000左右。
源码地址:
三、怎么设置Tomcat的JVM虚拟机内存大小方法/步骤
Tomcat作为应用服务器,不能直接运行。需要相应的硬件和操作系统支持,需要Java虚拟机环境。也就是说,当Tomcat启动时,JVM会给Tomcat分配一个初始内存和最大内存,所以要增加Tomcat的jvm内存,需要在启动时进行配置
在本地电脑中找到Tomcat安装目录,进入该目录,然后进入bin目录,window环境下在bin目录下找到,linux环境下找到
点击右键编辑文件中,找到JAVA_OPTS选项的位置,该参数是启动Java时需要的启动参数
将此参数设置为JAVA_OPTS='-Xms512m-Xmx1024m',表示初始。分配的内存为512MB,可以使用。最大内存为1024MB。
还可以在操作系统环境变量中设置JAVA_OPTS,因为启动Tomcat时也会读取操作系统中环境变量的值并加载
如果是的话如果更改了操作系统环境变量,需要重启机器,然后重启Tomcat。如果更改Tomcat配置文件,需要保存配置文件,然后重新启动Tomcat,设置才会生效。