博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
jinfo_动态调整JVM参数(无需重启)(实践)
阅读量:5985 次
发布时间:2019-06-20

本文共 1232 字,大约阅读时间需要 4 分钟。

​本文演示在JVM进程运行过程中动态开启/关闭 GC输出,无需重启JVM进程
jinfo使用介绍
可以用来查看正在运行的Java应用程序的扩展参数,甚至支持在运行时,修改部分参数
-flag <name> pid:打印指定JVM的参数值 
-flag [+|-]<name> pid:设置指定JVM参数的布尔值
-flag <name>=<value> pid:设置指定JVM参数的值
有一点必须注意:PrintGC必须开启,只开启PrintGCDetails、PrintGCTimeStamps不会输出GC,必须PrintGC同时开启
1、JVM启动时设置以下参数:-Xmx20m -Xms20m -Xmn2m,代码如下(改代码会发生GC)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
private
static
void
s2() {
       
String name = ManagementFactory.getRuntimeMXBean().getName();
       
// get pid
       
String pid = name.split(
"@"
)[
0
];
       
System.out.println(
"Pid is:"
+ pid);
        
       
while
(
true
)
       
{
           
byte
[] b =
null
;
           
for
(
int
i =
0
; i <
10
; i++)
               
b =
new
byte
[
1
*
1024
*
1024
];
 
           
try
{
               
Thread.sleep(
5000
);
           
}
catch
(InterruptedException e) {
               
e.printStackTrace();
           
}
       
}
   
}

2、使用jinfo查看JVM GC的相关参数值

35158-20161129101500334-1775016261.png

3、启动GC输出

35158-20161129101502443-1893205594.png

4、控制台GC输出

170.658: [GC [PSYoungGen: 0K->0K(1536K)] 18091K->18091K(19968K), 0.0006562 secs] [Times: user=0.00 sys=0.00, real=0.00 secs] 

170.658: [GC [PSYoungGen: 0K->0K(1536K)] 18091K->18091K(19968K), 0.0003981 secs] [Times: user=0.00 sys=0.00, real=0.00 secs] 

170.659: [Full GC [PSYoungGen: 0K->0K(1536K)] [ParOldGen: 18091K->2048K(18432K)] 18091K->2048K(19968K) [PSPermGen: 3280K->3280K(21504K)], 0.0060813 secs] [Times: user=0.03 sys=0.00, real=0.01 secs] 

 

5、参考资料

转载地址:http://zfylx.baihongyu.com/

你可能感兴趣的文章
深入浅出JavaScript (五) 详解Document.write()方法
查看>>
Beta冲刺——day6
查看>>
代码生成工具Database2Sharp中增加视图的代码生成以及主从表界面生成功能
查看>>
我的友情链接
查看>>
一篇文章能够看懂基础源代码之JAVA篇
查看>>
Node.js的npm全局安装包引用
查看>>
Android 70道面试题汇总不再愁面试
查看>>
从ArrayList说起的JAVA复制与参数传递机制
查看>>
Servlet
查看>>
redis安装使用
查看>>
【干货】Java岗面试考点大合集
查看>>
Android安全开发之浅谈密钥硬编码
查看>>
UTF-8 编码及检查其完整性
查看>>
Android NDK开发扫盲及最新CMake的编译使用
查看>>
Weex开发系列(一):初识Weex
查看>>
开源 UI 库中,唯一同时实现了大表格虚拟化和树表格的 Table 组件
查看>>
找到思聪王
查看>>
[译] 学习 Spring Security(五):重发验证邮件
查看>>
快速的React Native开发方法
查看>>
1.扩展方法2.接口的隐式实现和显式实现
查看>>