您的位置:首页 > 运维架构

jvm虚拟机性能监控与故障处理工具

2018-03-23 13:48 627 查看
一、工具介绍
java-jvm安装后在bin目录下有很多exe文件,为监控工具,对应的在lib/tools.jar中对应的java代码用于支持对应工具。





2、命令介绍
①jps虚拟机健康状况工具(JVM Process Starts)
相当于linux的ps工具
    -q 输出进程id

    -m输出进程启动时传递给主类main的参数

    -l 输出主类全名及进程id,如果是jar包输出jar包的路径

    -v输出jvm进程启动时的jvm参数
②jstart虚拟机统计信息监控工具(JVM Statistics Monitoring Tool)
    用于监控jvm的各种运行状态信息,如类转载、垃圾收集、运行期编译等情况(堆(年轻代(eden、from survivor、to survivor)、年老代)、栈、本地方法区(永久代))的监控。

    -gc pid 250 20 查询进程垃圾收集情况,pid为集成id,250与20为每250毫秒输出一次日志,输出20次。

    -gcutil pid 监控当前线程的内存使用情况

③jinfo配置信息工具(Configuration Info for Java)
    用于实时查看和调整虚拟机的各项参数。

    -flag CMSInitiatingOccupancyFraction 8364 用户查询当前线程CMSInitiatingOccupancyFraction的参数值。

④jmap内存影响工具(Memory Map for java)
        用于生成java堆转储快照,以及查询finalize执行队列、java堆和永久代的详细信息,如空间使用率、当前使用的垃圾收集器。通过jvm增加参数-XX:+HeapDumpOnCtrlBreak可在每次出现oom(OutOffMemoryError)异常时转储java堆快照,并使用eclipse插件MAT进行分析,分析过程详见另一篇文章。jmap的命令除生成java堆转储快照、每个类的实例、空间占用统计外,其他都需要在linux上执行

    -dump生成java堆转储快照。

    -heap显示java堆详细信息,以及使用何种类型的垃圾回收器。

    -histo 显示堆中对象统计信息,包括类、实例数量、合计容量等。

    还有很多其他命令可用jmap -?查看。

    
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: