• Jvm 性能检测


     一、Jmap

    1、查看整个LVM 内存状态
    jmap -heap pid

    2、查看JVM堆中对象详细占用情况
    jmap -histo [pid]

    3、导出整个JVM 中内存信息
    jmap -dump:format=b,file=文件名 [pid]

    二、Jstack

    4、JVM 调优 jstack 可以看到JVM 中线程的运行状况 所有堆栈信息;
    top -c
    jstack [pid]

    在对Java内存泄漏进行分析的时候,需要对jvm运行期间的内存占用、线程执行等情况进行记录的dump文件,常用的主要有thread dump和heap dump。
    thread dump: 主要记录JVM在某一时刻各个线程执行的情况,以栈的形式显示,是一个文本文件。通过对thread dump文件可以分析出程序的问题出现在什么地方,从而定位具体的代码然后进行修正。thread dump需要结合占用系统资源的线程id进行分析才有意义。
    heap dump: 主要记录了在某一时刻JVM堆中对象使用的情况,即某个时刻JVM堆的快照,是一个二进制文件,主要用于分析哪些对象占用了太对的堆空间,从而发现导致内存泄漏的对象。

    top -c 
    查看CPU 资源应用最多的PID进程。 printf
    "%x " pid号
    得到进程PID 的十六进制。 # jstack pid
    | grep "16进制" -A 10
    就可以定位代码查找问题。( -A 10 参数用来指定显示行数)
  • 相关阅读:
    HWOJ之纠结的优化
    java中的对象数组
    短路特性的运用
    归并排序
    两个有序数列的合并
    java中的注释规范
    堆排序
    堆的建立
    希尔排序
    直接插入排序
  • 原文地址:https://www.cnblogs.com/sharesdk/p/9307207.html
Copyright © 2020-2023  润新知