主题
Arthas
检查Java环境
使用前先使用jps -l检查环境, arthas启动必须有 1. Java环境 2. Java应用(即需检测的应用)
sh
docker exec -it service-main bash
jps -l
jps一般返回两个结果, 在docker中进程1基本为部署的java应用
下载并启动
sh
curl -O https://arthas.aliyun.com/arthas-boot.jar
java -jar arthas-boot.jar
[INFO] JAVA_HOME: /usr/local/openjdk-11
[INFO] arthas-boot version: 3.7.2
[INFO] Found existing java process, please choose one and input the serial number of the process, eg : 1. Then hit ENTER.
* [1]: 1 /data/main.jar
选择[1], 输入1回车
查看 dashboard
sh
dashboard
ID NAME GROUP PRIORITY STATE %CPU DELTA_TIME TIME INTERRUPTED DAEMON
-1 C2 CompilerThread0 - -1 - 0.64 0.031 2:40.838 false true
1367 Timer-for-arthas-dashboard-993c49b8-6b56-47b7-b system 5 RUNNABLE 0.05 0.002 0:0.002 false true
-1 VM Periodic Task Thread - -1 - 0.04 0.002 66:18.791 false true
-1 G1 Young RemSet Sampling - -1 - 0.03 0.001 50:37.920 false true
21 pool-1-thread-1 main 5 TIMED_WAITING 0.02 0.001 34:14.476 false false
1330 arthas-NettyHttpTelnetBootstrap-3-2 system 5 RUNNABLE 0.02 0.000 0:0.383 false true
-1 GC Thread#1 - -1 - 0.01 0.000 20:14.973 false true
-1 GC Thread#0 - -1 - 0.01 0.000 20:15.053 false true
-1 VM Thread - -1 - 0.01 0.000 20:58.797 false true
-1 C1 CompilerThread0 - -1 - 0.01 0.000 0:51.559 false true
17 Catalina-utility-1 main 1 WAITING 0.01 0.000 8:7.269 false false
Memory used total max usage GC
heap 302M 576M 2048M 14.79% gc.g1_young_generation.count 968
g1_eden_space 192M 354M -1 54.24% gc.g1_young_generation.time(ms) 7200
g1_old_gen 101M 213M 2048M 4.98% gc.g1_old_generation.count 0
g1_survivor_space 9M 9M -1 100.00% gc.g1_old_generation.time(ms) 0
nonheap 242M 250M -1 96.88%
codeheap_'non-nmethods' 1M 2M 5M 26.15%
metaspace 141M 146M -1 96.53%
Runtime
os.name Linux
os.version 5.4.119-20.0009.20
java.version 11.0.13
java.home /usr/local/openjdk-11
systemload.average 0.50
processors 2
timestamp/uptime Thu Jul 18 10:28:56 UTC 2024/10086720s
线程信息
- 有几个线程正在运行,例如 C2 CompilerThread0、VM Periodic Task Thread、G1 Young RemSet Sampling 等。
- 线程 pool-1-thread-1 处于 TIMED_WAITING 状态,这通常意味着它正在等待某个资源或条件。
- 线程 arthas-NettyHttpTelnetBootstrap-3-2 处于 RUNNABLE 状态,表示它正在运行或等待 CPU 时间片。
- 线程 GC Thread#1 和 GC Thread#0 也处于运行状态,负责垃圾回收。
JVM内存占用情况
- 堆空间:已使用 302M,总大小 576M,最大可达 2048M,使用率 14.79%。
- G1 新生代:已使用 192M,总大小 354M,使用率 54.24%。
- G1 老年代:已使用 101M,总大小 213M,最大可达 2048M,使用率 4.98%。
- 线程栈:已使用 242M,总大小 250M,最大可达 -1(未限制),使用率 96.88%。
- 元空间:已使用 141M,总大小 146M,最大可达 -1(未限制),使用率 96.53%。
JVM运行时信息
- 操作系统:Linux
- 操作系统版本:5.4.119-20.0009.20
- Java 版本:11.0.13
- Java 家目录:/usr/local/openjdk-11
- 系统负载平均值:0.50
- 处理器数量:2
- 时间戳/系统运行时间:2024年7月18日 10:28:56 UTC / 10086720秒
垃圾回收信息
- G1 年轻代垃圾回收次数:968
- G1 年轻代垃圾回收时间(毫秒):7200, 平均每次垃圾回收时间≈7.44毫秒
- G1 老年代垃圾回收次数:0
- G1 老年代垃圾回收时间(毫秒):0