运行jar包时指定适当的参数,比如运行我的项目的命令是这样的
< / p>运行命令,部分代码为项目名称。
一般参数如下:
1. -Xms:初始堆大小。 当它运行时,它将占用堆大小。
2.-Xmx:最大堆大小。 emoryError:Javaheap错误可以通过配置-Xms和-Xmx参数来设置。
3.-Xss:堆栈大小分布。 堆栈是每个线程的私有区域,通常只有几百KB大小,定义了函数调用的深度,堆栈存储局部变量和参数。
当局部变量较多且递归时,会出现栈空间OOM(verflowError)等错误。
:NewSize:设置新生代大小的绝对值。
5.-XX:NewRatio:设置年轻代和老年代的比例。 例如,如果设置为 3,则新生代:老生代 = 1:3,新生代为总堆的 1/4。
6.-XX:MaxPermSize:设置永久代的大小。
emoryError:此 OOM PermGenspace 错误需要适当增加 PermSize 和 MaxPermSize。
7.-XX:SurvivorRatio:Eden面积与年轻代中幸存者的两个面积的比例。 请注意,Survivor 有两个区域:form 和 then。 例如,如果值为 8,则 eden:form:to=8:1:1。
8.-XX:HeapDumpOnOutOfMemoryError:发生OOM时将堆转储到文件。 这是一个非常好的诊断方法。
9.-XX:HeapDumpPath:导出的堆转储文件的路径。
10.-XX:OnOutOfMemoryError:发生OOM时,执行通过电子邮件发送警报并重新启动程序等脚本。 以下是脚本的路径。
您可以通过以下步骤动态配置Tomcat中的JVM参数:
打开并运行Tomcat的启动脚本(Linux /Unix) 或 (Windows)。
找到JAVA_OPTS变量,添加需要设置的JVM参数,例如:
exportJAVA_OPTS="-Xms256m-Xmx512m-XX:MaxPermSize=256m"
上面的例子是JVM的最小堆内存大小256MB, 其最大堆内存设置为 512MB,最大永久代大小设置为 256MB。
保存并关闭脚本。
重启Tomcat以使JVM参数生效。
此外, 您可以通过 JavaManagementExtensions (JMX) 动态设置 JVM 参数。 JMX是Java中的一种管理和监控机制,可以通过JConsole或者其他JMX客户端工具连接到JVM,实时监控和管理JVM。 在 JMX 中, JVM 参数可以通过 MBean 动态设置。
上一篇:jvm内存配置参数修改
下一篇:linux 清除缓存 释放内存