创建采集配置文件
服务化性能数据采集通过json配置文件,配置采集数据的开关、保存路径等。
- 自动创建:该文件支持自动创建,在执行采集过程中配置SERVICE_PROF_CONFIG_PATH环境变量后,运行MindIE-Motor服务可自动创建默认配置的json文件。
- 手动创建:该json配置文件可以在任意路径下新建,此处以ms_service_profiler_config.json文件名为例,配置文件格式如下:
1 2 3 4 5 6 7 8 9 10 11 12 13
{ "enable": 1, "prof_dir": "${PATH}", "profiler_level": "INFO", "host_system_usage_freq": -1, "npu_memory_usage_freq": -1, "acl_task_time": 0, "acl_prof_task_time_level": "", "api_filter": "", "kernel_filter": "", "timelimit": 0, "domain": "" }
参数 |
说明 |
是否必选 |
---|---|---|
enable |
是否开启性能数据采集的开关,取值为:
|
是 |
prof_dir |
采集到的性能数据的存放路径,可自定义,str类型,默认值为${HOME}/.ms_server_profiler。 |
否 |
profiler_level |
数据采集等级,取值为INFO。 |
否 |
host_system_usage_freq |
CPU和内存系统指标采集频率,默认关闭不采集。范围整数1~50,单位Hz,表示每秒采集的次数。设置为-1时关闭采集该指标。 说明:
开启该功能可能占用较大内存。 |
否 |
npu_memory_usage_freq |
NPU Memory使用率指标的采集频率,默认关闭不采集。范围整数1~50,单位Hz,表示每秒采集的次数。设置为-1时关闭采集该指标。 说明:
开启该功能可能占用较大内存。 |
否 |
acl_task_time |
开启采集算子下发耗时、算子执行耗时数据的开关,取值为:
说明:
该功能开启时会占用一定的设备性能,导致采集的性能数据不准确,建议在模型执行耗时异常时开启,用于更细致的分析。 |
否 |
acl_prof_task_time_level |
设置性能数据采集的Level等级和时长,取值为:
默认未配置本参数,表示采集L0数据,且采集到程序执行结束。配置其他非法值时取默认值。 采集的Level等级和时长可同时配置,例如"acl_prof_task_time_level": "L1;10"。 |
否 |
api_filter |
对性能数据进行过滤,配置该参数可自定义采集配置的API性能数据,例如传入“matmul”会落盘所有API数据中name字段包含matmul的性能数据。str类型,区分大小写,多个不同的筛选目标用“;”隔开,默认为空,表示落盘所有数据。 仅当acl_task_time参数值为2时生效。 |
否 |
kernel_filter |
对性能数据进行过滤,配置该参数可自定义采集配置的Kernel性能数据,例如传入“matmul”会落盘所有Kernel数据中name字段包含matmul的性能数据。str类型,区分大小写,多个不同的筛选目标用“;”隔开,默认为空,表示落盘所有数据。 仅当acl_task_time参数值为2时生效。 |
否 |
timelimit |
设置服务化性能数据采集的时长,配置该参数后,采集进程将在运行指定的时间后自动停止,取值范围为0~7200的整数,单位s,默认值0(表示不限制采集时间)。 说明:
该采集时长建议最短设置为120s,可以根据实际情况进行增加,若采集时间过短,可能会导致数据不满足解析输出件生成,打印告警提示。 |
否 |
domain |
设置采集指定domain域下的性能数据,减少采集数据量。输入参数为字符串格式,英文分号作为分隔符,区分大小写,例如:"Request; KVCache"。 默认为空,表示采集当前所有domain域内性能数据。 当前已有domain域为:Request、KVCache、ModelExecute、BatchSchedule、Communication。 说明:
若指定domain域不全,采集数据不满足解析输出件生成时,则打印告警提示。查看表1。
|
否 |