zoukankan      html  css  js  c++  java
  • 生产环境CPU占用过高分析

    1. 分析思路

    结合Linux和JDK命令一块分析

    1)先用top命令查找cpu占用最高的进程;

    2)ps -ef 或者jps进一步定位进程详情(具体什么程序);

    3)定位到具体的线程或者代码:

    ps -mp 进程 -o THREAD,tid,time
     
    -m:显示所有的线程
    -p:pid进程使用cpu的时间
    -o:该参数后是用户自定义格式
    

    4)将需要的线程ID转换为16进制格式(英文小写格式);

    printf "%x
    " 有问题的线程ID

    5)jstack 进程ID | grep tid(16进制线程ID小写英文) -A60

    jstack 5101 | grep 13ee -A60 //追踪进程5101的线程13ee的详情,并打印前60行

    2. JDK自带的JVM监控和性能分析工具

    1)性能监控工具

    (1) jps(虚拟机进程状况工具)

    (2) jinfo(Java配置信息工具)

    (3) jmap(内存映像工具)

    A. 作用:

    生成Java应用程序的堆快照和对象的统计信息;

    B. 官网
    C. 相关case

    映射堆快照:jmap -heap 进程ID

    抓取堆内存:

    • 生成hprof文件并下载到本地
    • MAT分析插件工具

    (4) jstat(统计信息监控工具)

    A. 作用:

    查看堆内存各部分的使用量,以及加载类的

    B. 官网
    C. 相关case
    • 类加载统计
    • 编译统计
    • 垃圾回收统计
     
  • 相关阅读:
    二叉树后序遍历
    二叉树中序遍历
    二叉树的前序遍历
    字符串转整数
    DVWA靶场——File Inclusion(文件包含)
    DVWA-CSRF
    DVWA--COMMAND INJECTION
    DVWA练习一 暴力破解
    pikachu--SSRF
    pikachu---XXE
  • 原文地址:https://www.cnblogs.com/Terry-Wu/p/12577922.html
Copyright © 2011-2022 走看看