云数据库 GAUSSDB-统计信息函数:gs_perf_start(duration integer[, freq integer])

时间:2025-10-17 14:34:22

gs_perf_start(duration integer[, freq integer])

描述:采集当前节点上各个线程的on-cpu火焰图的堆栈调用数据,函数返回火焰图的存储路径。查询该函数需要有SYSADMIN权限或者MONADMIN权限。

参数说明如下:

参数名称

描述

类型

范围

duration

采集堆栈时长(单位为秒,如果输入浮点型,会对浮点型小数点后第一位进行四舍五入后取整处理)。

integer

1~60

freq

采集堆栈频率(可选参数,单位为HZ,默认为100,如果输入浮点型,会对浮点型小数点后第一位进行四舍五入后取整处理)。

integer

10~1000

返回值类型:text

示例:

设置频率为100HZ,采集10s的on-cpu堆栈信息。
1
2
3
4
5
6
7
8
gaussdb=# SELECT gs_perf_start(10,100);
                                   gs_perf_start                                    
------------------------------------------------------------------------------------
 Successfully collected perf flamegraph data, the result filepaths are :           +
 $GAUSS LOG /gs_flamegraph/dn_6001/flamegraph-manual-oncpu-2025-02-28_175628.html.gz;+
 Record 29427 cpu clock samples.                                                   +

(1 row)

执行该函数时(包括后述gs_perf_start_offcpu()、gs_perf_start_all()、gs_perf_start_detail())需要gs_perf_service正常运行。同时gs_perf_service在采集过程中,需要申请环形buffer,该buffer的大小受操作系统中/proc/sys/kernel/perf_event_mlock_kb控制。如果采集过程中出现“perf mmap failed”错误,可以在调整/proc/sys/kernel/perf_event_mlock_kb的大小后,再重新执行采集。

support.huaweicloud.com/centralized-devg-v8-gaussdb/gaussdb-42-2062.html
推荐文章