首页 > 编程知识 正文

tomcat配置jvm参数,jvm常用参数

时间:2023-05-06 20:26:52 阅读:26702 作者:3173

一 IDE

Eclipse 和 IDEA 中配置简单,在 Run Configurations 中 VM Options 中配置即可,大同小异。

二 运行 jar 包

java -Xms100m -Xmx100m -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -jar demo.jar

三 Tomcat 运行 war 包

# Linux 下 tomcat/cxdjj/catalina.sh 添加

JAVA_OPTS="-Xms512M -Xmx1024M"

# windows下 catalina.bat 添加

set "JAVA_OPTS=-Xms512M -Xmx1024M"

四 程序运行过程中

# 设置Boolean类型参数

jinfo -flag [+|-]<name> <pid>

# 设置非Boolean类型参数

jinfo -flag <name>=<value> <pid>

五 实战——运行过程中,哪些参数选项可以被修改 E:JVMDemo3>jps7408 Jps7300 RemoteMavenServer368356 Launcher10364 OOMTest7356# 查看某个数值型参数E:JVMDemo3>jinfo -flag InitialHeapSize 10364-XX:InitialHeapSize=251658240# 运行时,InitialHeapSize 参数不能被修改E:JVMDemo3>jinfo -flag InitialHeapSize=10000 10364Exception in thread "main" com.sun.tools.attach.AttachOperationFailedException: flag 'InitialHeapSize' cannot be changed at sun.tools.attach.WindowsVirtualMachine.execute(WindowsVirtualMachine.java:117) at sun.tools.attach.HotSpotVirtualMachine.executeCommand(HotSpotVirtualMachine.java:261) at sun.tools.attach.HotSpotVirtualMachine.setFlag(HotSpotVirtualMachine.java:234) at sun.tools.jinfo.JInfo.flag(JInfo.java:134) at sun.tools.jinfo.JInfo.main(JInfo.java:81)# 查看某个布尔型参数E:JVMDemo3>jinfo -flag UseG1GC 10364-XX:-UseG1GC# 运行时,UseG1GC 参数不能被修改E:JVMDemo3>jinfo -flag +UseG1GC 10364Exception in thread "main" com.sun.tools.attach.AttachOperationFailedException: flag 'UseG1GC' cannot be changed at sun.tools.attach.WindowsVirtualMachine.execute(WindowsVirtualMachine.java:117) at sun.tools.attach.HotSpotVirtualMachine.executeCommand(HotSpotVirtualMachine.java:261) at sun.tools.attach.HotSpotVirtualMachine.setFlag(HotSpotVirtualMachine.java:234) at sun.tools.jinfo.JInfo.flag(JInfo.java:140) at sun.tools.jinfo.JInfo.main(JInfo.java:81)# 运行中能被修改的参数很少,仅下面这些E:JVMDemo3>java -XX:+PrintFlagsFinal -version|find "manageable" intx CMSAbortablePrecleanWaitMillis = 100 {manageable} intx CMSTriggerInterval = -1 {manageable} intx CMSWaitDuration = 2000 {manageable} bool HeapDumpAfterFullGC = false {manageable} bool HeapDumpBeforeFullGC = false {manageable} bool HeapDumpOnOutOfMemoryError = false {manageable} ccstr HeapDumpPath = {manageable} uintx MaxHeapFreeRatio = 100 {manageable} uintx MinHeapFreeRatio = 0 {manageable} bool PrintClassHistogram = false {manageable} bool PrintClassHistogramAfterFullGC = false {manageable} bool PrintClassHistogramBeforeFullGC = false {manageable} bool PrintConcurrentLocks = false {manageable} bool PrintGC = false {manageable} bool PrintGCDateStamps = false {manageable} bool PrintGCDetails = false {manageable} bool PrintGCID = false {manageable} bool PrintGCTimeStamps = false {manageable}java version "1.8.0_251"Java(TM) SE Runtime Environment (build 1.8.0_251-b08)Java HotSpot(TM) 64-Bit Server VM (build 25.251-b08, mixed mode)# 运行中,HeapDumpAfterFullGC 可以被修改E:JVMDemo3>jinfo -flag HeapDumpAfterFullGC 10364-XX:-HeapDumpAfterFullGCE:JVMDemo3>jinfo -flag +HeapDumpAfterFullGC 10364E:JVMDemo3>jinfo -flag HeapDumpAfterFullGC 10364-XX:+HeapDumpAfterFullGC# 运行中,HeapDumpPath 可以被修改E:JVMDemo3>jinfo -flag HeapDumpPath 10364-XX:HeapDumpPath=E:JVMDemo3>jinfo -flag HeapDumpPath=d:/ 10364E:JVMDemo3>jinfo -flag HeapDumpPath 10364-XX:HeapDumpPath=d:/

 

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。