• 定位 java虚拟机内存问题 个人总结


    一。在linux服务器上  
         top     :找到cup或者内存占用过高的那个进程pid
     
    二。top    -Hp  【进程pid】
         可以继续跟踪该进程中的所有线程信息,找到cup或者内存过高的那个线程,将该线程id转化为16进制,以便在后面的线程堆栈信息中用该关键字查看
     
    三。jstack 【进程pid】> jstack_you_file.txt    
         然后 less “线程id” jstack_you_file.txt 便可查看是什么线程,在执行什么任务
     
     
     
     
     
     
     
    JDK之jstat的用法
     
    Jstat是JDK自带的一个轻量级小工具。全称“Java Virtual Machine statistics monitoring tool”,它位于java的bin目录下,主要利用JVM内建的指令对Java应用程序的资源和性能进行实时的命令行的监控,包括了对Heap size和垃圾回收状况的监控。可见,Jstat是轻量级的、专门针对JVM的工具,非常适用
     
    语法结构:
    Usage: jstat -help|-options
           jstat -<option> [-t] [-h<lines>] <vmid> [<interval> [<count>]]
     参数解释:
    Options — 选项,我们一般使用 -gcutil 查看gc情况
    vmid    — VM的进程号,即当前运行的java进程号
    interval– 间隔时间,单位为秒或者毫秒
    count   — 打印次数,如果缺省则打印无数次
     
    S0  — Heap上的 Survivor space 0 区已使用空间的百分比
    S1  — Heap上的 Survivor space 1 区已使用空间的百分比
    E   — Heap上的 Eden space 区已使用空间的百分比
    O   — Heap上的 Old space 区已使用空间的百分比
    P   — Perm space 区已使用空间的百分比
    YGC — 从应用程序启动到采样时发生 Young GC 的次数
    YGCT– 从应用程序启动到采样时 Young GC 所用的时间(单位秒)
    FGC — 从应用程序启动到采样时发生 Full GC 的次数
    FGCT– 从应用程序启动到采样时 Full GC 所用的时间(单位秒)
    GCT — 从应用程序启动到采样时用于垃圾回收的总时间(单位秒)
    实例使用1:
    [root@localhost bin]# jstat -gcutil 25444
      S0     S1     E      O      P     YGC     YGCT    FGC    FGCT     GCT
     
     11.63   0.00   56.46  66.92  98.49 162    0.248    6      0.331    0.579
     
     
     
     
     
     
     
     
     
    jmap(Memory Map)和jhat(Java Heap Analysis Tool)
     
         jmap -histo [:live] pid  查看堆内存中的对象数目,大小统计直方图,带上live参数则只统计存活对象
     
        jmap -dump:format=b,file=dumpYouOwnFileName.txt pid     将内存快照dump到本地文件,使用jhat来进行内存对象分析
     
     
     
     
     
     
     
     
     
     
     
     
     
  • 相关阅读:
    【板子】博弈论
    【洛谷】P1229快速幂
    【洛谷】P1349广义斐波那契
    2018.11.15 Nginx服务器的使用
    2018.11.14 hibernate中的查询优化---关联级别查询
    2018.11.13 Hibernate 中数据库查询中的Criteria查询实例
    2018.11.12 Spring事务的实现和原理
    2018.11.11 Java的 三大框架:Struts+Hibernate+Spring
    2018.11.10 Mac设置Eclipse的 .m2文件夹是否可见操作&&Mac系统显示当前文件夹的路径设置
    2018.11.9 Dubbo入门学习
  • 原文地址:https://www.cnblogs.com/manmanrenshenglu/p/9013182.html
Copyright © 2020-2023  润新知