• Java命令学习系列(零)——常见命令及Java Dump介绍


    一、常用命令:

    在JDK的bin目彔下,包含了java命令及其他实用工具。

    jps:查看本机的Java中进程信息。

    jstack:打印线程的栈信息,制作线程Dump。

    jmap:打印内存映射,制作堆Dump。

    jstat:性能监控工具。

    jhat:内存分析工具。

    jconsole:简易的可视化控制台。

    jvisualvm:功能强大的控制台。

    二、认识Java Dump:

    什么是Java Dump?

    Java虚拟机的运行时快照。将Java虚拟机运行时的状态和信息保存到文件。

    线程Dump,包含所有线程的运行状态。纯文本格式。

    堆Dump,包含线程Dump,幵包含所有堆对象的状态。二进制格式。

    Java Dump有什么用?

    补足传统Bug分析手段的不足: 可在任何Java环境使用;信息量充足。 针对非功能正确性的Bug,主要为:多线程幵发、内存泄漏。

    制作Java Dump

    使用Java虚拟机制作Dump

    指示虚拟机在发生内存不足错误时,自动生成堆Dump

    -XX:+HeapDumpOnOutOfMemoryError

    使用图形化工具制作Dump

    使用JDK(1.6)自带的工具:Java VisualVM。

    使用命令行制作Dump

    jstack:打印线程的栈信息,制作线程Dump。

    jmap:打印内存映射,制作堆Dump。

    步骤:

    1. 检查虚拟机版本(java -version)
    2. 找出目标Java应用的进程ID(jps)
    3. 使用jstack命令制作线程Dump • Linux环境下使用kill命令制作线程Dump
    4. 使用jmap命令制作堆Dump
  • 相关阅读:
    正则表达式
    数组去重
    [WOJ4354] 蜀石经
    [NOI2002] 银河英雄传说
    [洛谷P2186] 小Z的栈函数
    [洛谷P2756]飞行员配对方案问题
    [洛谷P2071] 座位安排
    [洛谷P2417]课程
    [洛谷P1640] [SCOI2010]连续攻击游戏
    [洛谷P3512 [POI2010]PIL-Pilots]
  • 原文地址:https://www.cnblogs.com/lgjava/p/10832969.html
Copyright © 2020-2023  润新知