• JVM的监控工具之jinfo


    参考博客:https://www.jianshu.com/p/8d8aef212b25

    jinfo(ConfigurationInfoforJava)的作用是实时地查看和调整虚拟机各项参数,使用jps命令的-v参数可以查看虚拟机启动时显式指定的参数列表。
    但如果想知道未被显式指定的参数的系统默认值,除了去找资料外,就只能使用jinfo的-flag选项进行查询。

    • no option 输出全部的参数和系统属性
    • -flag name 输出对应名称的参数
    • -flag [+|-]name 开启或者关闭对应名称的参数

    我们可以通过jinfo实时的修改虚拟机的参数,但是不是任何命令都可以修改,可以修改的参数我们先来执行这个命令:java -XX:+PrintFlagsFinal -version,会列出当前机器支持的所有参数,那么用jinfo可以修改的参数是什么呢?

    只有最后一列显示manageable的这一列才能进行修改。

    仔细查看发现可修改的参数其实并不多,jvm的运行内存一旦在运行时确定下来,那么就无法修改。但是无法一些错误信息没有记录,或者是处于关闭状态,还是可以修改的

    例如我们来查询idea的进程是否开启了GC日志信息的详细打印,我们可以执行这样的命令:jinfo -flag PrintGCDetails 17312,从结果中我们可以看出是没有开启打印GC详细信息的。

    jinfo还可以使用-sysprops选项把虚拟机进程的System.getProperties()的内容打印出来,可以执行命令:jinfo -sysprops 17312。

    jinfo -flags:会打印当前该线程所有相关的参数,例如我们要来打印idea这个进程的所有相关参数,我们来执行命令:jinfo -flags 40416会列出JVM的版本,显示当前idea他的非缺省值的东西(也就是你修改过的),还有Command Line 代表的是命令行形式传递给idea这个进程的一些参数

     查看最大堆内存 jinfo -flag MaxHeapSize 17312 

    查看所使用的垃圾收集器
    jinfo -flag UseConcMarkSweepGC 17312

    jinfo -flag UseG1GC 17312
    jinfo -flag UseParallelGC 17312

    可以看出所使用的垃圾回收器是 ParallelGC

  • 相关阅读:
    Javascript自动垃圾收集机制
    Javascript深入浅出(二)
    Javascript深入浅出(一)
    递归&循环&迭代&遍历&枚举,知多少
    事件流、事件处理程序和事件对象
    弹性布局学习笔记
    css3 伪元素
    css3伪类选择器nth-of-type,:nth-last-of-type,:first-of-type,:last-of-type,:only-of-type
    css3结构伪类选择器first-child,last-child,nth-child(),nth-last-child(),only-child
    css3状态伪类选择器:checked修改按钮默认样式
  • 原文地址:https://www.cnblogs.com/cheng21553516/p/11223601.html
Copyright © 2020-2023  润新知