专业的编程技术博客社区

网站首页 > 博客文章 正文

主管让我排查线上P0事故原因,我的思路(一)

baijin 2024-09-04 01:50:00 博客文章 6 ℃ 0 评论

1.安装Arthas

进入控制台

  • 安装Wget apt-get install wget
  • 安装Arthas:wget https://alibaba.github.io/arthas/arthas-boot.jar
  • 配置环境:JAVA_HOME=/usr/local/jdk1.8.0/;PATH=$JAVA_HOME/bin:$PATH;export JAVA_HOME PATH
  • 启动Arthas:java -jar arthas-boot.jar

2.使用Arthas

  • 选择关联进程(如,输入1)

3.命令解读

命令:dashboard

作用:查看运行时大盘

参数解读:

Thread:

ID

Java级别的线程ID,注意这个ID不能跟jstack中的nativeID一一对应

NAME

线程名

GROUP

线程组名

PRIORITY

线程优先级,1~10之间的数字,越大表示优先级越高

STATE

线程的状态

CPU%

线程消耗的cpu占比,采样100ms,将所有线程在这100ms内的cpu使用量求和,再算出每个线程的cpu使用占比。

TIME

线程运行总时间,数据格式为分:秒

INTERRUPTED

线程当前的中断位状态

DAEMON

是否是Daemon线程

Memory:

Heap

堆(Heap),Ps_eden_space + Ps_survivor_space + Ps_old_gen

Ps_eden_space

Eden Space

Ps_survivor_space

Survivor Space

Ps_old_gen

旧生代(Old Generation)

Nonheap

非堆内存使用量(Non Heap)

Code_cache

Native Code存放内存空间称之为Code Cache,JIT编译、JNI等都会编译代码到Native Code,其中JIT生成的Native Code占用了Code Cache的绝大部分空间

Metaspace

方法区(持久代)(Perm/Metaspace)

compressed_class_space


direct

堆外,DirectByteBuffer

mapped

堆外,MappedByteBuffer

GC:

gc.ps_scavenge.count


gc.ps_scavenge.time(ms)


gc.ps_marksweep.count


gc.ps_marksweep.time(ms)


Runtime:

os.name

系统名称

os.version

系统版本

java.version

Java版本

java.home

Java home路径

systemload.average

系统负载

processors

CPU数量

uptime

系统启动时间


下一篇:主管让我排查线上P0事故原因,我的思路(二)

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表