---
title: 生成模板文件
description: "开始自动调优前，获取调优任务所需参数文件，选择待调优应用并配置或查看调优时使用的参数。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengdevps/profiler/tuning/KunpengDevKitCli_0126.html
sourcePath: /source/zh/kunpengdevps/profiler/tuning/KunpengDevKitCli_0126.html
indexId: 8a6f51ddb35d41294b6b1ea6549c1b50e657c392244579186c252a342fa9138a66
---
# 生成模板文件

开始自动调优前，获取调优任务所需参数文件，选择待调优应用并配置或查看调优时使用的参数。

#### 命令功能

生成 鲲鹏自动调优 的参数空间和应用程序场景模板的配置。配置生成后可运行“devkit kat train -t task.yaml -p param.yaml”开始自动调优。

YAML文件中的注释使用UTF-8格式。


#### 命令格式

```
devkit kat template [-h] [-l {0,1,2,3}] [-o <dir>] (-g | -c <file>)
```


#### 参数说明


**表1 参数说明**

| 参数 | 参数选项 | 说明 |
| --- | --- | --- |
| \-h/\-\-help | \- | 可选参数，获取帮助信息。 |
| \-l/\-\-log\-level | 0/1/2/3 | 可选参数，设置日志级别，默认为2。 说明： 新增功能采用更合理设计，默认级别调整为2（WARNING）。 0：日志级别为DEBUG。 1：日志级别为INFO。 2：日志级别为WARNING。 3：日志级别为ERROR。 |
| \-o/\-\-output | \- | 可选参数，设置生成的模板文件的输出路径。 |
| \-g/\-\-generate | \- | 可选参数，进入模板配置交互界面，生成对应应用的简易模板文件，仅包含任务必需参数。 |
| \-c/\-\-convert | \- | 可选参数，将简易模板文件转换为全参数的自定义模板文件。 说明： 简易模板仅需用户配置包含执行任务所需的主机信息、应用路径、压测等相关信息。 自定义模板文件中包含任务和应用的全量执行命令，当对应用存在自定义需求时，简易模板中的配置信息可能和自定义功能不匹配，需转化为具有全量执行信息的自定义模板，便于用户针对性修改自动调优的执行流程。 |


#### 使用示例

以Spark应用为例。

1. 生成简易模板。

```
devkit kat template -g -o
/opt/template
```


  命令中使用参数“-g”将进入交互界面，用户可选择模板文件需要的基本参数，参数-o /opt/template为生成的模板文件存放目录。

2. 选择Spark应用。
  使用“↑”、“↓”键选择，按“Enter”键选中应用。

  支持生成数据库和大数据场景的简易模板，通过快速修改配置项进行调优；也支持生成自定义模板（选择Custom），可自定义修改模板内容进行调优。

  图1 选择应用

3. 选择应用版本。
  按“Enter”键进入版本列表选择需要的版本，按“Space”切换选项前“[ ]”中的参数，Y表示选用该版本。

  图2 选择版本1

  图3 选择版本2

4. 选择参数类型。
  按“Esc”返回上一级目录，使用“↓”选择ParamSpaces，按“Enter”进入参数类型列表选择参数类型。

  Spark为应用参数，System为系统参数，Kunpeng uarch为微架构参数。

  支持不选择应用参数，仅使用系统参数或微架构参数进行调优。 目前Hive、Spark、Flink应用中的System支持JVM参数，对Xmx、Xmn、Xms参数进行自动适配后，系统会下发到文件“/tmp/kat_java_params.log”中，如果期望调优JVM参数，请在命令中获取该文件内容并拼接为应用启动命令。

  图4 选择应用参数

  按“Space”切换选项前“[ ]”中的参数，Y表示选用该参数。

  图5 选择需要配置的参数类型

5. 选择具体参数。
  在启用对应参数后，按“Enter”键进入参数配置界面，选择需要启用的详细参数，目前应用参数和系统参数可自定义配置，可键入“/”进入搜索模式，查看需要配置的参数，也可按“Page Up”键和“Page Down”键翻页查看。

  图6 选择应用参数

6. 保存配置，生成简易模板文件。
  配置完成后按“s”键保存简易模板文件至指定目录下，如果未指定保存目录，将在当前目录下生成名为“template_应用名_YMD_HMS”格式的文件夹。

  生成的任务参数文件名和应用参数文件名取决于选择的应用和参数类型，例如选择Spark应用、系统参数和微架构参数，生成的任务参数文件名和应用参数文件名为task_Spark_System_Kunpeng_uarch.yaml和param_Spark_System_Kunpeng_uarch.yaml。

  按任意键可回到保存操作前的界面。

  保存成功回显如下：

  1 Spark configuration file saved successfully: {'path': '/opt/template/template_Spark_20250515_063634'}

7. 退出配置交互界面。
  按“q”键选择退出，再按“y”键确认退出；将在终端显示模板文件保存目录。

  返回信息如下：

  1 [2025-05-15 06:38:31 UTC] [KAT] [message] - The path of the saved file is as follows: ['/opt/template/template_Spark_20250515_063634']

8. 查看简易模板文件。

```
ls
/opt/template/template_Spark_20250515_063634/
```


  返回信息如下：

  1 param_Spark_System.yaml task_Spark_System.yaml

  任务参数文件（task_Spark_System.yaml）：包含执行任务所需的主机、应用路径、压测等相关信息。 应用参数文件（param_Spark_System.yaml）：包含所选择的各个参数空间中的具体参数信息。 已选择的应用参数和系统参数可在模板文件生成目录下的参数文件param_Spark_System.yaml中查看或修改。

9. 查看应用参数文件。

```
cat
/opt/template/template_Spark_20250515_063634/param_Spark_System.yaml
```


  param_xxxx.yaml文件内容为交互界面中选择的应用参数（包括默认选择的参数），应用参数文件内容如下：

10. 查看并完善任务参数文件。

```
vim
/opt/template/template_Spark_20250515_063634/task_Spark_System.yaml
```


  该模板文件中一些任务必选参数值需用户根据实际情况填写，如环境信息、应用所在服务器、性能测试工具所在服务器及压测指标等，参数说明可在任务模板的yaml文件中查看，任务模板文件如下：

11. 保存退出任务参数文件。
  完善好基本配置后按“Esc”键，输入:wq!再按“Enter”键保存退出。

12. 当简易模板无法满足用户对应用的参数调整时可转换为自定义参数模板文件进行操作。
  自定义模板文件中包含任务和应用的全量执行命令，便于调整调优任务的整体执行流程。

```
devkit kat template -c
/opt/template/template_Spark_20250515_063634/task_Spark_System.yaml
```


  返回信息：

  1 [2025-05-15 06:53:49 UTC] [KAT] [ info ] - /opt/template/template_Spark_20250515_063634/task_Spark_System.yaml has been converted to /opt/template/template_Spark_20250515_063634/task_Spark_System_custom.yaml

  转换后的模板文件名称会在原来名称的基础上添加“_custom”内容。

  自定义模板文件内容如下：
