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

jvm分配内存

  • 内存
  • 2024-06-09 21:16:36
  • 6084

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

在javaweb应用的开发过程中,经常会用到tomcat服务器,它的性能直接影响web应用的效率Tomcat的大小:

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

2在本地电脑上找到tomcat安装目录,进入该目录,然后进入bin文件夹中的bin目录在linux环境下找到。

3右键编辑文件,找到JAVA_OPTS选项。

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

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

6如果操作系统的环境变量被修改过,必须重启机器再重启tomcat配置文件配置文件再重启tomcat,设置才会生效生效。


二、Linux里面JVM内存怎么设置

指定启动jar包时的参数。例如,我的项目启动命令如下所示:

启动命令后,编码部分如下所示:项目名称

常用参数有:

1.-Xms:初始堆大小。它占用的堆大小与开始时一样多。

2.-Xmx:最大堆大小。emoryError:Javaheap错误可以通过配置-Xms和-Xmx参数来设置。

3.-Xss:堆栈大小分配。栈是每个线程的私有区域,一般只有几百K大小,决定了函数调用的深度,局部变量和参数都在栈上分配。

如果局部变量较多且递归,会出现栈空间OOM(verflowError)等错误。

:NewSize:设置新生代大小的绝对值。

5.-XX:NewRatio:设置Young代和Old代的比例。例如设置为3,则新生代:老生代=1:3,新生代占用整个堆的1/4。

6.-XX:MaxPermSize:设置永久代大小。

emoryError:PermGenspace中的OOM错误需要适当增加PermSize和MaxPermSize。

7.-XX:SurvivorRatio:Eden区与年轻代的两个Survivor区的比例。Survivor区域中有两个区域:Forms和Objects。例如,将其设置为8将导致eden:form:to=8:1:1。

8.-XX:HeapDumpOnOutOfMemoryError:发生OOM时将堆转储到文件是一个非常好的诊断方法。

9.-XX:HeapDumpPath:导出堆的转储文件的路径。

10.-XX:OnOutOfMemoryError:发生OOM时,执行发送邮件报警、重启程序等脚本。接下来是脚本路径。