zoukankan      html  css  js  c++  java
  • 线上CUP负载过高排查方法

     
    1.top命令查看线程占据的CPU

    注意:上面行的cpu是多个内核的平均CPU,不可能超过100%
    下面的cpu是每个进程实际占用的cpu,可能超过100%
    备注:查看多个内核cpu,只需要在输入top后,输入1
     
    2.查看进程下每个线程的资源使用情况
    top -Hp pid(进程最高的那个进程ID)
    例如:top -Hp 6401 可以看到每个线程占据的CPU
     
    3.查看线程详情
    比如资源占用最高的那个线程ID是6461
     
    printf %x 6461 :查看线程ID 6461对应的16进制(堆栈日志中线程号是用16进制标记的)
     

    jstack 6401 |grep 193d -C 30 :193d是6461线程ID对应点的16进制
    从堆栈快照 中 查看线程的详细状态信息 

    jstack -l 6401 > dump 将堆栈信息输出到一个文件中 ,后续可以用工具解析该堆栈快照

  • 相关阅读:
    dmesg
    [转]df命令
    [转]linux /proc/cpuinfo 文件分析
    awk
    sed
    [转]进程间通信
    Bootstrap 树形列表与右键菜单
    Maven国内仓库
    《深入剖析Tomcat》源码
    Spring in Action学习笔记(2)
  • 原文地址:https://www.cnblogs.com/cowboys/p/13369949.html
Copyright © 2011-2022 走看看