zoukankan      html  css  js  c++  java
  • java 定位工具

    #查看JVM所有进程及启动类信息以及PID

    jps -mlvV


    #查看JVM运行各种状态信息,包括GC,类加载,堆内存信息,jit编译信息等
    jstat -gcutil <PID> (堆内存信息,已使用内存占比)

    #查看JVM堆中存活对象详细占用情况

    jmap -histo:live <PID>

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

    #用于分析JVM DUMP 文件的工具,基于此工具可分析JVM HEAP 中对象的内存占用情况
    jhat -J-mx1024m heap.bi

    #查看堆栈
    jstack

    可以看到JVM 中线程的运行状况,包括锁等待,线程是否在运行
    执行 jstack [pid] ,线程的所有堆栈信息

    "http-8080-10" daemon prio=10 tid=x0a949bb60 nid=0x884  waiting for monitor entry [...]

    "http-8080-10" 这个线程处于等待状态。 waiting for monitor entry 如果在连续几次输出线程堆栈信息都存在于同一个或多个线程上时,则说明系统中有锁竞争激烈,死锁,或锁饿死的想象。


    “http-8080-11” daemon prio=10 tix=xxx nid=xxx in object.wait() [...]
     java.lang.Thread.State:waiting (on object monitor)
    该表示http-8080-11的线程处于对象的Wait 上,等待其他线程的唤醒,这也是线程池的常见用法。

    “Low Memory Detector”daemon prio=10 tix=xx nid=xxx runnable [...] java.lang.Thread.State:runnable
    表示“Low Memory Detector” 的线程处于Runable状态,等待获取CPU的使用权.

  • 相关阅读:
    Coursera机器学习week1 单元测试
    Coursera机器学习week1 笔记
    Apache服务器
    yum软件包安装
    linux察看安装包有那些
    虚拟上怎么挂载镜像
    netstat -altp
    MongoDB——》聚合查询(project、match、limit、skip、unwind、group、sort)
    jdk8流list转Map
    Spring Boot 和 Spring Cloud Feign调用服务及传递参数踩坑记录(转)
  • 原文地址:https://www.cnblogs.com/lwcoding/p/6651669.html
Copyright © 2011-2022 走看看