表示监控所有 CPU,后面数字 5 表示间隔 5 秒输出数据

    1. mpstat -P ALL 5

    间隔 5 秒后输出一组数据,-u 表示 CPU 指标

    pidstat -u 5 1
    

    查看上下文次数,5s输出1组数据

    pidstat -wt 5 1
    

    查看各种中断类型变化的次数

    watch -d cat /proc/interrupts
    

    每秒输出系统参数

    vmstat 1
    

    分析cpu使用情况

    yum install perf
    perf top -g
    

    dstat集成了众多工具特性

    yum install dstat
    dstat 1 10
    

    追踪发现某个进程中的的某个线程占用较高

    top  -Hbp PID | awk '/进程名/ && $9>10'
    

    将PID对应占用高的线程ID转为16进制的线程ID

    printf '%x\n'  线程ID
    

    输出16进制的线程ID

    通过 jvm的 jstack查看进程信息,发现调用的是哪个服务的问题

    jstack 进程ID  | grep '16进制的线程ID'  -A 30
    
    jstack 19 | grep "java.lang.Thread.State:" | cut -d":" -f2- | sort | uniq -c