添加 JVM 参数选项
一 IDE
Eclipse 和 IDEA 中配置简单,在 Run Configurations 中 VM Options 中配置即可,大同小异。
二 运行 jar 包
java -Xms100m -Xmx100m -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -jar demo.jar
三 Tomcat 运行 war 包
# Linux 下 tomcat/bin/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>jps
7408 Jps
7300 RemoteMavenServer36
8356 Launcher
10364 OOMTest
7356# 查看某个数值型参数
E:\JVMDemo3>jinfo -flag InitialHeapSize 10364
-XX:InitialHeapSize=251658240# 运行时,InitialHeapSize 参数不能被修改
E:\JVMDemo3>jinfo -flag InitialHeapSize=10000 10364
Exception in thread "main" com.sun.tools.attach.AttachOperationFailedException: flag 'InitialHeapSize' cannot be changedat 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 10364
Exception in thread "main" com.sun.tools.attach.AttachOperationFailedException: flag 'UseG1GC' cannot be changedat 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:/
添加 JVM 参数选项相关推荐
- 4、JVM垃圾回收机制、新生代的GC、GC(Minor GC、FullGC)、GC日志、JVM参数选项、元空间(笔记)
4.JVM垃圾回收机制 4.1.新生代的GC 4.1.1.串行GC(SerialGC) 4.1.2.并行回收GC(Parallel Scavenge) 4.1.3.并行GC(ParNew) 4.2.G ...
- surfire单元测试添加jvm参数
有人配置jvm 参数可以是上面形式: <plugin><groupId>org.apache.maven.plugins</groupId><artifact ...
- [Java]jvm参数选项中文文档
本文是基于最新的SUN官方文档Java SE 6 Hotspot VM Options 编写的译文.主要介绍JVM中的非稳态选项及其使用说明. 为了让读者明白每个选项的含义,作者在原文基础上补充了大 ...
- Java 6 JVM参数选项大全(中文版)
转自:http://www.blogjava.net/bitbit/archive/2009/11/30/304247.html 本文是基于最新的SUN官方文档Java SE 6 Hotspot VM ...
- make命令的参数选项(执行make时可以添加哪些选项)
以下内容源于C语言中文网的学习与整理,如有侵权请告知删除. 在执行 make 命令时,有时根据需要,可以添加某些参数选项.比如只打印命令但不执行命令的参数选项是 "-n" ,还有只 ...
- JVM参数设置和分析
转自:http://www.cnblogs.com/redcreen/archive/2011/05/04/2037057.html 不管是YGC还是Full GC,GC过程中都会对导致程序运行中中断 ...
- JVM参数设置、分析
转载自 JVM参数设置.分析 不管是YGC还是Full GC,GC过程中都会对导致程序运行中中断,正确的选择不同的GC策略,调整JVM.GC的参数,可以极大的减少由于GC工作,而导致的程序运行中断方 ...
- JVM参数设置、分析(转)
转自:http://www.cnblogs.com/redcreen/archive/2011/05/04/2037057.html 不管是YGC还是Full GC,GC过程中都会对导致程序运行中中断 ...
- java:jvm参数设置
java:jvm参数设置 1 前言 jvm参数设置后,可通过System.getProperties()或者System.getProperty("jdbc.drivers")来获 ...
最新文章
- 机器视觉边缘检测算法详解
- Pycharm快捷键大全(windows + Mac)
- c语言在dos下执行bat文件,应用dos批处理文件经常用到的DOS常用命令
- Sitecore A / B测试
- 主角的创建与选择 Learn Unreal Engine (with C++)
- yapi 插件_精神多了,当Swagger遇上YApi,瞬间高大上了!
- 雪城大学信息安全讲义 4.5
- iphone个人热点无法开启_无法在 iPhone 上正常使用“个人热点”怎么办?
- 计算机网络相关的知识,计算机网络相关知识整理
- 如何向小白讲述软件架构发展历程?
- 一本专门解决网站可用性和易用性问题的实用书籍
- gif透明背景动画_Gifox for Mac(Gif动画录制工具)
- Android的性能优化
- Hibernate使用手册(官网)
- 虚拟机下ROS调用笔记本摄像头
- EndNote使用教程
- telnet连接失败的常见错误
- 折线(Polyline)、多边形(Polygon)
- 宇视摄像机/硬盘录像机等设备接入到国标GB28181协议视频平台EasyGBS的注意事项
- 写QT串口通信的UI界面时,数据输入文本框为什么要有文本(字符串)发送和十六进制发送?