更新 初识JFR.md

This commit is contained in:
8ga 2025-03-11 16:32:23 +08:00
parent 1c5cb570b0
commit f9c3841151

View File

@ -154,4 +154,48 @@ Event 是多线程产生的,如果 Event 记录要保证全局有序,那么
相加就是JFR的总内存占用。
### jcmd 命令启用JFR
### jcmd
#### 开启JFR记录
eg`jcmd <pid> JFR.start name=profile_online maxage=1d maxsize=1g`JFR.start 后面的参数和*-XX:StartFlightRecording*一样
#### 停止JFR记录
eg`jcmd <pid> JFR.stop name=profile_online`
#### 查看当前正在执行的 JFR 记录
eg`jcmd <pid> JFR.check`
输出eg
```
<pid>:
Recording 1: 参数列表 (running)
```
#### 查看配置
`jcmd <pid> JFR.configure`,不传入参数,则是查看当前配置。传入参数就是修改配置,与*-XX:FlightRecorderOptions*一样。
输出eg
```
Repository path: /tmp/2020_03_18_08_41_44_21
Stack depth: 64
Global buffer count: 20
Global buffer size: 512.0 kB
Thread buffer size: 8.0 kB
Memory size: 10.0 MB
Max chunk size: 12.0 MB
Sample threads: true
```
#### 输出dump文件
`jcmd <pid> JFR.dump`
|参数 | 默认 | 描述|
|:-----|:-----|:-----|
|name | - | 指定要查看的 JFR 记录名称|
|filename | 无 | 指定输出位置|
|maxage | 0 | dump的时间范围的文件配置和上文介绍的一样|
|maxsize | 0 | dump最大文件大小配置和上文介绍的一样|
|begin | - | dump开始位置 可以这么配置09:00, 21:35:00, 2018-06-03T18:12:56.827Z, 2018-06-03T20:13:46.832, -10m, -3h, -1d|
|end |-| dump结束位置可以这么配置 09:00, 21:35:00, 2018-06-03T18:12:56.827Z, 2018-06-03T20:13:46.832, -10m, -3h, -1d|
|path-to-gc-roots| false | 一般不开启dump 的时候打开这个肯定会触发一次 fullGC对线上应用有影响|