提交 579c7aaa 编写于 作者: O openeuler-ci-bot 提交者: Gitee

!1 增加A-Tune相关文档

Merge pull request !1 from 谢志鹏/master
# analysis<a name="ZH-CN_TOPIC_0213225932"></a>
## 功能描述<a name="section124121426195015"></a>
采集系统的实时统计数据进行负载类型识别,并进行自动优化。
## 命令格式<a name="section1019897115110"></a>
**atune-adm analysis** \[OPTIONS\]
## 参数说明<a name="section16755152320311"></a>
- OPTIONS
<a name="table531317574132"></a>
<table><tbody><tr id="row1031310575137"><td class="cellrowborder" valign="top" width="23.87%"><p id="p6313115718133"><a name="p6313115718133"></a><a name="p6313115718133"></a>参数</p>
</td>
<td class="cellrowborder" valign="top" width="76.13%"><p id="p16313157141312"><a name="p16313157141312"></a><a name="p16313157141312"></a>描述</p>
</td>
</tr>
<tr id="row7313105711139"><td class="cellrowborder" valign="top" width="23.87%"><p id="p203141657131315"><a name="p203141657131315"></a><a name="p203141657131315"></a>--model, -m</p>
</td>
<td class="cellrowborder" valign="top" width="76.13%"><p id="p13141157151316"><a name="p13141157151316"></a><a name="p13141157151316"></a>用户自训练产生的新模型</p>
</td>
</tr>
</tbody>
</table>
## 使用示例<a name="section5961238145111"></a>
- 使用默认的模型进行分类识别
```
$ atune-adm analysis
```
- 使用自训练的模型进行识别
```
$ atune-adm analysis --model ./model/new-model.m
```
# check<a name="ZH-CN_TOPIC_0213225934"></a>
## 功能描述<a name="section124121426195015"></a>
检查系统当前的cpu、bios、os、网卡等信息。
## 命令格式<a name="section1019897115110"></a>
**atune-adm check**
## 使用示例<a name="section5961238145111"></a>
```
$ atune-adm check
cpu information:
cpu:0 version: Kunpeng 920-6426 speed: 2600000000 HZ cores: 64
cpu:1 version: Kunpeng 920-6426 speed: 2600000000 HZ cores: 64
system information:
DMIBIOSVersion: 0.59
OSRelease: 4.19.36-vhulk1906.3.0.h356.eulerosv2r8.aarch64
network information:
name: eth0 product: HNS GE/10GE/25GE RDMA Network Controller
name: eth1 product: HNS GE/10GE/25GE Network Controller
name: eth2 product: HNS GE/10GE/25GE RDMA Network Controller
name: eth3 product: HNS GE/10GE/25GE Network Controller
name: eth4 product: HNS GE/10GE/25GE RDMA Network Controller
name: eth5 product: HNS GE/10GE/25GE Network Controller
name: eth6 product: HNS GE/10GE/25GE RDMA Network Controller
name: eth7 product: HNS GE/10GE/25GE Network Controller
name: docker0 product:
```
# collection<a name="ZH-CN_TOPIC_0213225908"></a>
## 功能描述<a name="section124121426195015"></a>
采集业务运行时系统的全局资源使用情况以及OS的各项状态信息,并将收集的结果保存到csv格式的输出文件中,作为模型训练的输入数据集。(本命令依赖于以下采样工具perf mpstat vmstat iostat sar, 支持的CPU型号为kunpeng 920和Hisilicon 1620,可通过dmidecode -t processor检查CPU型号)
## 命令格式<a name="section1019897115110"></a>
**atune-adm collection** <OPTIONS\>
## 参数说明<a name="section143803239510"></a>
- OPTIONS
<a name="zh-cn_topic_0210923698_table960915119119"></a>
<table><tbody><tr id="zh-cn_topic_0210923698_row13645013114"><td class="cellrowborder" valign="top" width="23.87%"><p id="zh-cn_topic_0210923698_p176451311914"><a name="zh-cn_topic_0210923698_p176451311914"></a><a name="zh-cn_topic_0210923698_p176451311914"></a>参数</p>
</td>
<td class="cellrowborder" valign="top" width="76.13%"><p id="zh-cn_topic_0210923698_p1364511211"><a name="zh-cn_topic_0210923698_p1364511211"></a><a name="zh-cn_topic_0210923698_p1364511211"></a>描述</p>
</td>
</tr>
<tr id="zh-cn_topic_0210923698_row19645141112"><td class="cellrowborder" valign="top" width="23.87%"><p id="zh-cn_topic_0210923698_p2645611710"><a name="zh-cn_topic_0210923698_p2645611710"></a><a name="zh-cn_topic_0210923698_p2645611710"></a>--filename, -f</p>
</td>
<td class="cellrowborder" valign="top" width="76.13%"><p id="zh-cn_topic_0210923698_p10645512017"><a name="zh-cn_topic_0210923698_p10645512017"></a><a name="zh-cn_topic_0210923698_p10645512017"></a>生成的用于训练的csv文件名:file-时间戳.csv</p>
</td>
</tr>
<tr id="zh-cn_topic_0210923698_row564581117"><td class="cellrowborder" valign="top" width="23.87%"><p id="zh-cn_topic_0210923698_p15645911616"><a name="zh-cn_topic_0210923698_p15645911616"></a><a name="zh-cn_topic_0210923698_p15645911616"></a>--output_path, -o</p>
</td>
<td class="cellrowborder" valign="top" width="76.13%"><p id="zh-cn_topic_0210923698_p106451918120"><a name="zh-cn_topic_0210923698_p106451918120"></a><a name="zh-cn_topic_0210923698_p106451918120"></a>csv文件存放的输出路径</p>
</td>
</tr>
<tr id="zh-cn_topic_0210923698_row8645711115"><td class="cellrowborder" valign="top" width="23.87%"><p id="zh-cn_topic_0210923698_p14645713117"><a name="zh-cn_topic_0210923698_p14645713117"></a><a name="zh-cn_topic_0210923698_p14645713117"></a>--disk, -b</p>
</td>
<td class="cellrowborder" valign="top" width="76.13%"><p id="zh-cn_topic_0210923698_p464519116110"><a name="zh-cn_topic_0210923698_p464519116110"></a><a name="zh-cn_topic_0210923698_p464519116110"></a>业务运行时使用的磁盘</p>
</td>
</tr>
<tr id="zh-cn_topic_0210923698_row6645111714"><td class="cellrowborder" valign="top" width="23.87%"><p id="zh-cn_topic_0210923698_p106451817111"><a name="zh-cn_topic_0210923698_p106451817111"></a><a name="zh-cn_topic_0210923698_p106451817111"></a>--network, -n</p>
</td>
<td class="cellrowborder" valign="top" width="76.13%"><p id="zh-cn_topic_0210923698_p206451911611"><a name="zh-cn_topic_0210923698_p206451911611"></a><a name="zh-cn_topic_0210923698_p206451911611"></a>业务运行时使用的网络接口</p>
</td>
</tr>
<tr id="zh-cn_topic_0210923698_row14645219112"><td class="cellrowborder" valign="top" width="23.87%"><p id="zh-cn_topic_0210923698_p9645191811"><a name="zh-cn_topic_0210923698_p9645191811"></a><a name="zh-cn_topic_0210923698_p9645191811"></a>--workload_type, -t</p>
</td>
<td class="cellrowborder" valign="top" width="76.13%"><p id="zh-cn_topic_0210923698_p16450117114"><a name="zh-cn_topic_0210923698_p16450117114"></a><a name="zh-cn_topic_0210923698_p16450117114"></a>用于标记业务的类型,进行有监督分类</p>
</td>
</tr>
<tr id="zh-cn_topic_0210923698_row76452118115"><td class="cellrowborder" valign="top" width="23.87%"><p id="zh-cn_topic_0210923698_p96451114116"><a name="zh-cn_topic_0210923698_p96451114116"></a><a name="zh-cn_topic_0210923698_p96451114116"></a>--duration, -d</p>
</td>
<td class="cellrowborder" valign="top" width="76.13%"><p id="zh-cn_topic_0210923698_p1364501013"><a name="zh-cn_topic_0210923698_p1364501013"></a><a name="zh-cn_topic_0210923698_p1364501013"></a>数据采集的时间</p>
</td>
</tr>
</tbody>
</table>
## 使用示例<a name="section5961238145111"></a>
```
$ atune-adm collection --filename mysql --interval 5 --duration 1200 --output_path ./data –-disk sda --network eth0 --workload_type test_type
```
# define<a name="ZH-CN_TOPIC_0213225905"></a>
## 功能描述<a name="section124121426195015"></a>
添加用户自定义的workload\_type,及对应的profile\_name和优化项。
## 命令格式<a name="section1019897115110"></a>
**atune-adm define** <WORKLOAD\_TYPE\> <PROFILE\_NAME\> <PROFILE\_PATH\>
## 使用示例<a name="section5961238145111"></a>
新增一个workload type,workload type的名称为test\_type,profile name的名称为test\_name,优化项的文件路径为./example.conf
```
$ atune-adm define test_type test_name ./example.conf
```
# info<a name="ZH-CN_TOPIC_0213225904"></a>
## 功能描述<a name="section124121426195015"></a>
查看workload\_type对应的profile内容。
## 命令格式<a name="section1019897115110"></a>
**atune-adm info** <_WORKLOAD\_TYPE\>_
## 使用示例<a name="section5961238145111"></a>
查看webserver的profile内容:
```
$ atune-adm info webserver
*** ssl_webserver:
#
# webserver tuned configuration
#
[main]
#TODO CONFIG
[kernel_config]
#TODO CONFIG
[bios]
#TODO CONFIG
[sysfs]
#TODO CONFIG
[sysctl]
fs.file-max=6553600
fs.suid_dumpable = 1
fs.aio-max-nr = 1048576
kernel.shmmax = 68719476736
kernel.shmall = 4294967296
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_syncookies = 1
net.ipv4.ip_local_port_range = 1024 65500
net.ipv4.tcp_max_tw_buckets = 5000
net.core.somaxconn = 65535
net.core.netdev_max_backlog = 262144
net.ipv4.tcp_max_orphans = 262144
net.ipv4.tcp_max_syn_backlog = 262144
net.ipv4.tcp_timestamps = 0
net.ipv4.tcp_synack_retries = 1
net.ipv4.tcp_syn_retries = 1
net.ipv4.tcp_fin_timeout = 1
net.ipv4.tcp_keepalive_time = 60
net.ipv4.tcp_mem = 362619 483495 725238
net.ipv4.tcp_rmem = 4096 87380 6291456
net.ipv4.tcp_wmem = 4096 16384 4194304
net.core.wmem_default = 8388608
net.core.rmem_default = 8388608
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
[systemctl]
sysmonitor=stop
irqbalance=stop
[bootloader.grub2]
selinux=0
iommu.passthrough=1
[tip]
bind your master process to the CPU near the network = affinity
bind your network interrupt to the CPU that has this network = affinity
relogin into the system to enable limits setting = OS
[script]
openssl_hpre = 0
prefetch = off
[ulimit]
{user}.hard.nofile = 102400
{user}.soft.nofile = 102400
[affinity.task]
#TODO CONFIG
[affinity.irq]
#TODO CONFIG
[check]
#TODO CONFIG
```
# list<a name="ZH-CN_TOPIC_0213225902"></a>
## 功能描述<a name="section124121426195015"></a>
查询系统当前支持的负载类型(workload\_type)和对应调优项(profile\_name),以及当前处于active状态的profile。
## 命令格式<a name="section1019897115110"></a>
**atune-adm list**
## 使用示例<a name="section5961238145111"></a>
```
$ atune-adm list
```
回显如下:
![](figures/zh-cn_image_0214540391.png)
红方框指示当前类型为default的workload对应profile处在激活状态。
# profile<a name="ZH-CN_TOPIC_0213225903"></a>
## 功能描述<a name="section124121426195015"></a>
手动激活workload\_type对应的profile,使得workload\_type处于active状态。
## 命令格式<a name="section1019897115110"></a>
**atune-adm profile **_<WORKLOAD\_TYPE\>_
## 参数说明<a name="section13406211624"></a>
_WORKLOAD\_TYPE_ 支持的类型参考list命令查询结果。
## 使用示例<a name="section5961238145111"></a>
激活webserver对应的profile配置
```
$ atune-adm profile webserver
```
# rollback<a name="ZH-CN_TOPIC_0213225930"></a>
## 功能描述<a name="section124121426195015"></a>
回退当前的配置到系统的初始配置。
## 命令格式<a name="section1019897115110"></a>
**atune-adm rollback**
## 使用示例<a name="section5961238145111"></a>
```
$ atune-adm rollback
```
# train<a name="ZH-CN_TOPIC_0213225909"></a>
## 功能描述<a name="section124121426195015"></a>
使用采集的数据进行模型的训练。训练时至少采集两种业务类型的数据,否则训练出错。
## 命令格式<a name="section1019897115110"></a>
**atune-adm train** <OPTIONS\>
## 参数说明<a name="section4591487175"></a>
- OPTIONS
<a name="zh-cn_topic_0210923699_table847613161310"></a>
<table><tbody><tr id="zh-cn_topic_0210923699_row349814169120"><td class="cellrowborder" valign="top" width="23.87%"><p id="zh-cn_topic_0210923699_p1549841614116"><a name="zh-cn_topic_0210923699_p1549841614116"></a><a name="zh-cn_topic_0210923699_p1549841614116"></a>参数</p>
</td>
<td class="cellrowborder" valign="top" width="76.13%"><p id="zh-cn_topic_0210923699_p84988168119"><a name="zh-cn_topic_0210923699_p84988168119"></a><a name="zh-cn_topic_0210923699_p84988168119"></a>描述</p>
</td>
</tr>
<tr id="zh-cn_topic_0210923699_row13499181612118"><td class="cellrowborder" valign="top" width="23.87%"><p id="zh-cn_topic_0210923699_p24993163119"><a name="zh-cn_topic_0210923699_p24993163119"></a><a name="zh-cn_topic_0210923699_p24993163119"></a>--data_path, -d</p>
</td>
<td class="cellrowborder" valign="top" width="76.13%"><p id="zh-cn_topic_0210923699_p134991316818"><a name="zh-cn_topic_0210923699_p134991316818"></a><a name="zh-cn_topic_0210923699_p134991316818"></a>用于存放模型训练的csv文件的目录</p>
</td>
</tr>
<tr id="zh-cn_topic_0210923699_row149914161115"><td class="cellrowborder" valign="top" width="23.87%"><p id="zh-cn_topic_0210923699_p14991516914"><a name="zh-cn_topic_0210923699_p14991516914"></a><a name="zh-cn_topic_0210923699_p14991516914"></a>--output_file, -o</p>
</td>
<td class="cellrowborder" valign="top" width="76.13%"><p id="zh-cn_topic_0210923699_p049916166114"><a name="zh-cn_topic_0210923699_p049916166114"></a><a name="zh-cn_topic_0210923699_p049916166114"></a>产生的新的训练模型</p>
</td>
</tr>
</tbody>
</table>
## 使用示例<a name="section5961238145111"></a>
```
$ atune-adm train --data_path ./data –output_file ./model/new-model.m
```
此差异已折叠。
# undefine<a name="ZH-CN_TOPIC_0213225907"></a>
## 功能描述<a name="section124121426195015"></a>
删除用户自定义的workload type。
## 命令格式<a name="section1019897115110"></a>
**atune-adm undefine** <WORKLOAD\_TYPE\>
## 使用示例<a name="section5961238145111"></a>
```
$ atune-adm undefine test_type
```
# update<a name="ZH-CN_TOPIC_0213225906"></a>
## 功能描述<a name="section124121426195015"></a>
更新指定workload type和profile name的优化项内容。
## 命令格式<a name="section1019897115110"></a>
**atune-adm update** <WORKLOAD\_TYPE\> <PROFILE\_NAME\> <PROFILE\_FILE\>
## 使用示例<a name="section5961238145111"></a>
更新类型为test\_type,名称为test\_name的优化项为./new.conf
```
$ atune-adm update test_type test_name ./new.conf
```
# upgrade<a name="ZH-CN_TOPIC_0213225931"></a>
## 功能描述<a name="section124121426195015"></a>
更新系统的数据库。
## 命令格式<a name="section1019897115110"></a>
**atune-adm upgrade** DB\_FILE
## 使用示例<a name="section5961238145111"></a>
数据库更新为new\_sqlite.db
```
$ atune-adm upgrade ./new_sqlite.db
```
# A-Tune使用指南
- [前言](前言.md)
- [法律申明](法律申明.md)
- [认识A-Tune](认识A-Tune.md)
- [简介](简介.md)
- [架构](架构.md)
- [支持特性与业务模型](支持特性与业务模型.md)
- [安装与部署](安装与部署.md)
- [软硬件要求](软硬件要求.md)
- [环境准备](环境准备.md)
- [安装A-Tune](安装A-Tune.md)
- [安装模式介绍](安装模式介绍.md)
- [安装操作](安装操作.md)
- [部署A-Tune](部署A-Tune.md)
- [配置介绍](配置介绍.md)
- [启动A-Tune](启动A-Tune.md)
- [使用方法](使用方法.md)
- [查询负载类型](查询负载类型.md)
- [list](list.md)
- [分析负载类型并自优化](分析负载类型并自优化.md)
- [analysis](analysis.md)
- [查询profile](查询profile.md)
- [info](info.md)
- [设置profile](设置profile.md)
- [profile](profile.md)
- [回滚profile](回滚profile.md)
- [rollback](rollback.md)
- [更新数据库](更新数据库.md)
- [upgrade](upgrade.md)
- [系统信息查询](系统信息查询.md)
- [check](check.md)
- [自定义负载类型](自定义负载类型.md)
- [define](define.md)
- [update](update.md)
- [undefine](undefine.md)
- [自定义模型](自定义模型.md)
- [collection](collection.md)
- [train](train.md)
- [最优配置动态搜索](最优配置动态搜索.md)
- [tuning](tuning.md)
# 使用方法<a name="ZH-CN_TOPIC_0213225901"></a>
A-Tune提供了已支持的负载类型查询、profile手工设置和查询、profile回滚、负载类型静态分析、自定义模型、自动tuning搜索最优参数、DB升级等功能。
## 符号约定<a name="section1522164095815"></a>
- \[\]:表示参数可选
- <\>:表示参数必选
- 斜体:需要根据实际修改的变量或参数
- **[查询负载类型](查询负载类型.md)**
- **[分析负载类型并自优化](分析负载类型并自优化.md)**
- **[查询profile](查询profile.md)**
- **[设置profile](设置profile.md)**
- **[回滚profile](回滚profile.md)**
- **[更新数据库](更新数据库.md)**
- **[系统信息查询](系统信息查询.md)**
- **[自定义负载类型](自定义负载类型.md)**
- **[自定义模型](自定义模型.md)**
- **[最优配置动态搜索](最优配置动态搜索.md)**
# 分析负载类型并自优化<a name="ZH-CN_TOPIC_0214607039"></a>
- **[analysis](analysis.md)**
# 前言<a name="ZH-CN_TOPIC_0213178446"></a>
## 概述<a name="section4537382116410"></a>
本文档介绍系统性能自优化软件A-Tune的安装部署和使用方法,以指导用户快速了解并使用A-Tune。
## 读者对象<a name="section4378592816410"></a>
本文档适用于使用openEuler系统并希望了解和使用A-Tune的社区开发者、开源爱好者以及相关合作伙伴。使用人员需要具备基本的Linux操作系统知识。
## 符号约定<a name="section133020216410"></a>
在本文中可能出现下列标志,它们所代表的含义如下。
<a name="table2622507016410"></a>
<table><thead align="left"><tr id="row1530720816410"><th class="cellrowborder" valign="top" width="20.580000000000002%" id="mcps1.1.3.1.1"><p id="p6450074116410"><a name="p6450074116410"></a><a name="p6450074116410"></a><strong id="b2136615816410"><a name="b2136615816410"></a><a name="b2136615816410"></a>符号</strong></p>
</th>
<th class="cellrowborder" valign="top" width="79.42%" id="mcps1.1.3.1.2"><p id="p5435366816410"><a name="p5435366816410"></a><a name="p5435366816410"></a><strong id="b5941558116410"><a name="b5941558116410"></a><a name="b5941558116410"></a>说明</strong></p>
</th>
</tr>
</thead>
<tbody><tr id="row5786682116410"><td class="cellrowborder" valign="top" width="20.580000000000002%" headers="mcps1.1.3.1.1 "><p id="p2204984716410"><a name="p2204984716410"></a><a name="p2204984716410"></a><a name="image4504446716410"></a><a name="image4504446716410"></a><span><img class="" id="image4504446716410" height="25.270000000000003" width="55.9265" src="figures/zh-cn_image_0213178479.png"></span></p>
</td>
<td class="cellrowborder" valign="top" width="79.42%" headers="mcps1.1.3.1.2 "><p id="p4388861916410"><a name="p4388861916410"></a><a name="p4388861916410"></a>用于传递设备或环境安全警示信息。如不避免则可能会导致设备损坏、数据丢失、设备性能降低或其它不可预知的结果。</p>
<p id="p1238861916410"><a name="p1238861916410"></a><a name="p1238861916410"></a>“须知”不涉及人身伤害。</p>
</td>
</tr>
<tr id="row2856923116410"><td class="cellrowborder" valign="top" width="20.580000000000002%" headers="mcps1.1.3.1.1 "><p id="p5555360116410"><a name="p5555360116410"></a><a name="p5555360116410"></a><a name="image799324016410"></a><a name="image799324016410"></a><span><img class="" id="image799324016410" height="15.96" width="47.88" src="figures/zh-cn_image_0213178480.png"></span></p>
</td>
<td class="cellrowborder" valign="top" width="79.42%" headers="mcps1.1.3.1.2 "><p id="p4612588116410"><a name="p4612588116410"></a><a name="p4612588116410"></a>对正文中重点信息的补充说明。</p>
<p id="p1232588116410"><a name="p1232588116410"></a><a name="p1232588116410"></a>“说明”不是安全警示信息,不涉及人身、设备及环境伤害信息。</p>
</td>
</tr>
</tbody>
</table>
# 启动A-Tune<a name="ZH-CN_TOPIC_0213178457"></a>
A-Tune安装完成后,需要启动A-Tune服务才能使用。
- 启动atuned服务:
```
$ systemctl start atuned
```
- 查询atuned服务状态:
```
$ systemctl status atuned
```
若回显为如下,则服务启动成功。
![](figures/zh-cn_image_0214540398.png)
# 回滚profile<a name="ZH-CN_TOPIC_0214607042"></a>
- **[rollback](rollback.md)**
# 安装A-Tune<a name="ZH-CN_TOPIC_0213178452"></a>
本章介绍A-Tune的安装模式和安装方法。
- **[安装模式介绍](安装模式介绍.md)**
- **[安装操作](安装操作.md)**
# 安装与部署<a name="ZH-CN_TOPIC_0213178449"></a>
本章介绍如何安装和部署A-Tune。
- **[软硬件要求](软硬件要求.md)**
- **[环境准备](环境准备.md)**
- **[安装A-Tune](安装A-Tune.md)**
- **[部署A-Tune](部署A-Tune.md)**
- **[启动A-Tune](启动A-Tune.md)**
# 安装操作<a name="ZH-CN_TOPIC_0213178454"></a>
安装A-Tune的操作步骤如下:
1. 挂载openEuler的iso文件。
```
# mount openEuler-1.0-aarch64-dvd.iso /mnt
```
2. 配置本地yum源。
```
# vim /etc/yum.repos.d/local.repo
```
配置内容如下所示:
```
[local]
name=local
baseurl=file:///mnt
gpgcheck=0
enabled=1
```
3. 安装A-Tune服务端。
```
# yum install atune -y
```
4. 安装A-Tune客户端。
```
# yum install atune-client -y
```
5. 验证是否安装成功
```
# rpm -qa | grep atune
atune-client-xxx
atune-db-xxx
atune-xxx
```
有如上回显信息表示安装成功。
# 安装模式介绍<a name="ZH-CN_TOPIC_0213178453"></a>
A-Tune支持单机模式和分布式模式安装:
- 单机模式
client和server安装到同一台机器上。
- 分布式模式
client和server分别安装在不同的机器上。
![](figures/zh-cn_image_0214540005.png)
# 支持特性与业务模型<a name="ZH-CN_TOPIC_0213178448"></a>
## 支持特性<a name="section1743310211743"></a>
A-Tune支持的主要特性、特性成熟度以及使用建议请参见[表1](#table1919220557576)
**表 1** 特性成熟度
<a name="table1919220557576"></a>
<table><thead align="left"><tr id="row81921355135715"><th class="cellrowborder" valign="top" width="33.33333333333333%" id="mcps1.2.4.1.1"><p id="p1419275514576"><a name="p1419275514576"></a><a name="p1419275514576"></a><strong id="b175661223205512"><a name="b175661223205512"></a><a name="b175661223205512"></a>特性</strong></p>
</th>
<th class="cellrowborder" valign="top" width="33.33333333333333%" id="mcps1.2.4.1.2"><p id="p7192195520572"><a name="p7192195520572"></a><a name="p7192195520572"></a><strong id="b185678233555"><a name="b185678233555"></a><a name="b185678233555"></a>成熟度</strong></p>
</th>
<th class="cellrowborder" valign="top" width="33.33333333333333%" id="mcps1.2.4.1.3"><p id="p519205518573"><a name="p519205518573"></a><a name="p519205518573"></a><strong id="b1156872320553"><a name="b1156872320553"></a><a name="b1156872320553"></a>使用建议</strong></p>
</th>
</tr>
</thead>
<tbody><tr id="row519275518572"><td class="cellrowborder" valign="top" width="33.33333333333333%" headers="mcps1.2.4.1.1 "><p id="p1349454518111"><a name="p1349454518111"></a><a name="p1349454518111"></a>负载类型分析及自优化</p>
</td>
<td class="cellrowborder" valign="top" width="33.33333333333333%" headers="mcps1.2.4.1.2 "><p id="p48001027191117"><a name="p48001027191117"></a><a name="p48001027191117"></a>已测试</p>
</td>
<td class="cellrowborder" valign="top" width="33.33333333333333%" headers="mcps1.2.4.1.3 "><p id="p15192195515715"><a name="p15192195515715"></a><a name="p15192195515715"></a>试用</p>
</td>
</tr>
<tr id="row919217552579"><td class="cellrowborder" valign="top" width="33.33333333333333%" headers="mcps1.2.4.1.1 "><p id="p519218559571"><a name="p519218559571"></a><a name="p519218559571"></a>自定义业务模型(数据采集+模型训练)</p>
</td>
<td class="cellrowborder" valign="top" width="33.33333333333333%" headers="mcps1.2.4.1.2 "><p id="p18192655115710"><a name="p18192655115710"></a><a name="p18192655115710"></a>已测试</p>
</td>
<td class="cellrowborder" valign="top" width="33.33333333333333%" headers="mcps1.2.4.1.3 "><p id="p71921655145717"><a name="p71921655145717"></a><a name="p71921655145717"></a>试用</p>
</td>
</tr>
<tr id="row1419212558574"><td class="cellrowborder" valign="top" width="33.33333333333333%" headers="mcps1.2.4.1.1 "><p id="p71829359105"><a name="p71829359105"></a><a name="p71829359105"></a>profile设置</p>
</td>
<td class="cellrowborder" valign="top" width="33.33333333333333%" headers="mcps1.2.4.1.2 "><p id="p1341026141114"><a name="p1341026141114"></a><a name="p1341026141114"></a>已测试</p>
</td>
<td class="cellrowborder" valign="top" width="33.33333333333333%" headers="mcps1.2.4.1.3 "><p id="p5192175510575"><a name="p5192175510575"></a><a name="p5192175510575"></a>试用</p>
</td>
</tr>
<tr id="row101921355185713"><td class="cellrowborder" valign="top" width="33.33333333333333%" headers="mcps1.2.4.1.1 "><p id="p13182165021016"><a name="p13182165021016"></a><a name="p13182165021016"></a>profile回滚</p>
</td>
<td class="cellrowborder" valign="top" width="33.33333333333333%" headers="mcps1.2.4.1.2 "><p id="p3756112371118"><a name="p3756112371118"></a><a name="p3756112371118"></a>已测试</p>
</td>
<td class="cellrowborder" valign="top" width="33.33333333333333%" headers="mcps1.2.4.1.3 "><p id="p14192175514576"><a name="p14192175514576"></a><a name="p14192175514576"></a>试用</p>
</td>
</tr>
<tr id="row71921155165711"><td class="cellrowborder" valign="top" width="33.33333333333333%" headers="mcps1.2.4.1.1 "><p id="p619217556575"><a name="p619217556575"></a><a name="p619217556575"></a>调优项动态空间自动搜索(tuning)</p>
</td>
<td class="cellrowborder" valign="top" width="33.33333333333333%" headers="mcps1.2.4.1.2 "><p id="p11192135595712"><a name="p11192135595712"></a><a name="p11192135595712"></a>已测试</p>
</td>
<td class="cellrowborder" valign="top" width="33.33333333333333%" headers="mcps1.2.4.1.3 "><p id="p2019235511575"><a name="p2019235511575"></a><a name="p2019235511575"></a>试用</p>
</td>
</tr>
</tbody>
</table>
## 支持业务模型<a name="section1899518171052"></a>
根据应用的负载特征,A-Tune将业务分为七大类,各类型的负载特征和A-Tune支持的应用请参见[表2](#table2819164611311)
**表 2** 支持的业务类型和应用
<a name="table2819164611311"></a>
<table><thead align="left"><tr id="row49114466133"><th class="cellrowborder" valign="top" width="21.87%" id="mcps1.2.5.1.1"><p id="p09116467130"><a name="p09116467130"></a><a name="p09116467130"></a><strong id="b161312710164"><a name="b161312710164"></a><a name="b161312710164"></a>业务类型</strong></p>
</th>
<th class="cellrowborder" valign="top" width="13.209999999999999%" id="mcps1.2.5.1.2"><p id="p953251510111"><a name="p953251510111"></a><a name="p953251510111"></a><strong id="b910151811126"><a name="b910151811126"></a><a name="b910151811126"></a>类型说明</strong></p>
</th>
<th class="cellrowborder" valign="top" width="37.269999999999996%" id="mcps1.2.5.1.3"><p id="p169111846181310"><a name="p169111846181310"></a><a name="p169111846181310"></a><strong id="b1213516721612"><a name="b1213516721612"></a><a name="b1213516721612"></a>负载特征</strong></p>
</th>
<th class="cellrowborder" valign="top" width="27.650000000000002%" id="mcps1.2.5.1.4"><p id="p1591144617135"><a name="p1591144617135"></a><a name="p1591144617135"></a><strong id="b31363721611"><a name="b31363721611"></a><a name="b31363721611"></a>支持的应用</strong></p>
</th>
</tr>
</thead>
<tbody><tr id="row17911114651318"><td class="cellrowborder" valign="top" width="21.87%" headers="mcps1.2.5.1.1 "><p id="p1791124631317"><a name="p1791124631317"></a><a name="p1791124631317"></a>default</p>
</td>
<td class="cellrowborder" valign="top" width="13.209999999999999%" headers="mcps1.2.5.1.2 ">&nbsp;&nbsp;</td>
<td class="cellrowborder" valign="top" width="37.269999999999996%" headers="mcps1.2.5.1.3 "><p id="p691184671312"><a name="p691184671312"></a><a name="p691184671312"></a>CPU、内存、网络等资源使用率都不高</p>
</td>
<td class="cellrowborder" valign="top" width="27.650000000000002%" headers="mcps1.2.5.1.4 "><p id="p69111946131318"><a name="p69111946131318"></a><a name="p69111946131318"></a></p>
</td>
</tr>
<tr id="row791164631318"><td class="cellrowborder" valign="top" width="21.87%" headers="mcps1.2.5.1.1 "><p id="p179110461137"><a name="p179110461137"></a><a name="p179110461137"></a>webserver</p>
</td>
<td class="cellrowborder" valign="top" width="13.209999999999999%" headers="mcps1.2.5.1.2 "><p id="p20532111512117"><a name="p20532111512117"></a><a name="p20532111512117"></a>https服务</p>
</td>
<td class="cellrowborder" valign="top" width="37.269999999999996%" headers="mcps1.2.5.1.3 "><p id="p1191117469133"><a name="p1191117469133"></a><a name="p1191117469133"></a>CPU使用率高</p>
</td>
<td class="cellrowborder" valign="top" width="27.650000000000002%" headers="mcps1.2.5.1.4 "><p id="p159111546161317"><a name="p159111546161317"></a><a name="p159111546161317"></a>Nginx</p>
</td>
</tr>
<tr id="row13911946141311"><td class="cellrowborder" valign="top" width="21.87%" headers="mcps1.2.5.1.1 "><p id="p2911164610134"><a name="p2911164610134"></a><a name="p2911164610134"></a>big_database</p>
</td>
<td class="cellrowborder" valign="top" width="13.209999999999999%" headers="mcps1.2.5.1.2 "><p id="p4532111561119"><a name="p4532111561119"></a><a name="p4532111561119"></a>数据库</p>
</td>
<td class="cellrowborder" valign="top" width="37.269999999999996%" headers="mcps1.2.5.1.3 "><a name="ul3724104521013"></a><a name="ul3724104521013"></a><ul id="ul3724104521013"><li>关系型数据库<p id="p14911124612131"><a name="p14911124612131"></a><a name="p14911124612131"></a>读: CPU、内存、网络使用率高</p>
<p id="p1491144619136"><a name="p1491144619136"></a><a name="p1491144619136"></a>写:IO使用率高</p>
</li></ul>
<a name="ul26021547101013"></a><a name="ul26021547101013"></a><ul id="ul26021547101013"><li>非关系型数据库<p id="p169111462130"><a name="p169111462130"></a><a name="p169111462130"></a>CPU、IO使用率高</p>
</li></ul>
</td>
<td class="cellrowborder" valign="top" width="27.650000000000002%" headers="mcps1.2.5.1.4 "><p id="p1091134671313"><a name="p1091134671313"></a><a name="p1091134671313"></a>MongoDB、MySQL、PostgreSQL、MariaDB</p>
</td>
</tr>
<tr id="row3911174641312"><td class="cellrowborder" valign="top" width="21.87%" headers="mcps1.2.5.1.1 "><p id="p491144611319"><a name="p491144611319"></a><a name="p491144611319"></a>big_data</p>
</td>
<td class="cellrowborder" valign="top" width="13.209999999999999%" headers="mcps1.2.5.1.2 "><p id="p953261521112"><a name="p953261521112"></a><a name="p953261521112"></a>大数据</p>
</td>
<td class="cellrowborder" valign="top" width="37.269999999999996%" headers="mcps1.2.5.1.3 "><p id="p129111046151315"><a name="p129111046151315"></a><a name="p129111046151315"></a>CPU和IO使用率较高</p>
</td>
<td class="cellrowborder" valign="top" width="27.650000000000002%" headers="mcps1.2.5.1.4 "><p id="p119111946161317"><a name="p119111946161317"></a><a name="p119111946161317"></a>Hadoop、Spark</p>
</td>
</tr>
<tr id="row591112462132"><td class="cellrowborder" valign="top" width="21.87%" headers="mcps1.2.5.1.1 "><p id="p1791104661313"><a name="p1791104661313"></a><a name="p1791104661313"></a>in-memory_computing</p>
</td>
<td class="cellrowborder" valign="top" width="13.209999999999999%" headers="mcps1.2.5.1.2 ">&nbsp;&nbsp;</td>
<td class="cellrowborder" valign="top" width="37.269999999999996%" headers="mcps1.2.5.1.3 "><p id="p591184671318"><a name="p591184671318"></a><a name="p591184671318"></a>CPU、内存使用率高</p>
</td>
<td class="cellrowborder" valign="top" width="27.650000000000002%" headers="mcps1.2.5.1.4 "><p id="p2912846121315"><a name="p2912846121315"></a><a name="p2912846121315"></a>SPECjbb2015</p>
</td>
</tr>
<tr id="row59121246181320"><td class="cellrowborder" valign="top" width="21.87%" headers="mcps1.2.5.1.1 "><p id="p1391204619130"><a name="p1391204619130"></a><a name="p1391204619130"></a>in-memory_database</p>
</td>
<td class="cellrowborder" valign="top" width="13.209999999999999%" headers="mcps1.2.5.1.2 ">&nbsp;&nbsp;</td>
<td class="cellrowborder" valign="top" width="37.269999999999996%" headers="mcps1.2.5.1.3 "><p id="p3912164617133"><a name="p3912164617133"></a><a name="p3912164617133"></a>CPU、网络使用率高</p>
</td>
<td class="cellrowborder" valign="top" width="27.650000000000002%" headers="mcps1.2.5.1.4 "><p id="p1691254621313"><a name="p1691254621313"></a><a name="p1691254621313"></a>Redis</p>
</td>
</tr>
<tr id="row1891264641315"><td class="cellrowborder" valign="top" width="21.87%" headers="mcps1.2.5.1.1 "><p id="p391214621312"><a name="p391214621312"></a><a name="p391214621312"></a>single_computer_intensive_jobs</p>
</td>
<td class="cellrowborder" valign="top" width="13.209999999999999%" headers="mcps1.2.5.1.2 ">&nbsp;&nbsp;</td>
<td class="cellrowborder" valign="top" width="37.269999999999996%" headers="mcps1.2.5.1.3 "><p id="p1912164651319"><a name="p1912164651319"></a><a name="p1912164651319"></a>CPU、内存使用率高</p>
</td>
<td class="cellrowborder" valign="top" width="27.650000000000002%" headers="mcps1.2.5.1.4 "><p id="p9912746121311"><a name="p9912746121311"></a><a name="p9912746121311"></a>SPECCPU2006</p>
</td>
</tr>
<tr id="row2912184671312"><td class="cellrowborder" valign="top" width="21.87%" headers="mcps1.2.5.1.1 "><p id="p1391213464130"><a name="p1391213464130"></a><a name="p1391213464130"></a>communication</p>
</td>
<td class="cellrowborder" valign="top" width="13.209999999999999%" headers="mcps1.2.5.1.2 ">&nbsp;&nbsp;</td>
<td class="cellrowborder" valign="top" width="37.269999999999996%" headers="mcps1.2.5.1.3 "><p id="p591214460137"><a name="p591214460137"></a><a name="p591214460137"></a>CPU、网络使用率高</p>
</td>
<td class="cellrowborder" valign="top" width="27.650000000000002%" headers="mcps1.2.5.1.4 "><p id="p391214619139"><a name="p391214619139"></a><a name="p391214619139"></a>Dubbo</p>
</td>
</tr>
<tr id="row1991224641317"><td class="cellrowborder" valign="top" width="21.87%" headers="mcps1.2.5.1.1 "><p id="p5912154613139"><a name="p5912154613139"></a><a name="p5912154613139"></a>idle</p>
</td>
<td class="cellrowborder" valign="top" width="13.209999999999999%" headers="mcps1.2.5.1.2 "><p id="p12532161561115"><a name="p12532161561115"></a><a name="p12532161561115"></a>系统idle</p>
</td>
<td class="cellrowborder" valign="top" width="37.269999999999996%" headers="mcps1.2.5.1.3 "><p id="p10912154631311"><a name="p10912154631311"></a><a name="p10912154631311"></a>系统处于空闲状态</p>
</td>
<td class="cellrowborder" valign="top" width="27.650000000000002%" headers="mcps1.2.5.1.4 "><p id="p11912164617133"><a name="p11912164617133"></a><a name="p11912164617133"></a></p>
</td>
</tr>
</tbody>
</table>
# 更新数据库<a name="ZH-CN_TOPIC_0214607043"></a>
- **[upgrade](upgrade.md)**
# 最优配置动态搜索<a name="ZH-CN_TOPIC_0214607047"></a>
A-Tune提供了最佳配置的自动搜索能力,免去人工反复做调整参数、性能评价的调优过程,极大地提升最优配置的搜寻效率。
- **[tuning](tuning.md)**
# 架构<a name="ZH-CN_TOPIC_0213867992"></a>
A-Tune核心技术架构如下图,主要包括智能决策、系统画像和交互系统三层。
智能决策层:包含感知和决策两个子系统,分别承担对应用的智能感知和调优策略决策。
系统画像层:主要包括标注和学习系统,标注系统用于对业务模型进行聚类,学习系统用于业务模型的学习和分类。
交互系统层:用于各类系统资源的监控和配置,策略执行在本层进行。
![](figures/zh-cn_image_0214539634.png)
# 查询profile<a name="ZH-CN_TOPIC_0214607040"></a>
- **[info](info.md)**
# 查询负载类型<a name="ZH-CN_TOPIC_0214607038"></a>
- **[list](list.md)**
# 法律申明<a name="ZH-CN_TOPIC_0214633563"></a>
**版权所有 © 2019 华为技术有限公司。**
您对“本文档”的复制,使用,修改及分发受知识共享\(Creative Commons\)署名—相同方式共享4.0国际公共许可协议\(以下简称“CC BY-SA 4.0”\)的约束。为了方便用户理解,您可以通过访问[https://creativecommons.org/licenses/by-sa/4.0/](https://creativecommons.org/licenses/by-sa/4.0/) 了解CC BY-SA 4.0的概要 \(但不是替代\)。CC BY-SA 4.0的完整协议内容您可以访问如下网址获取:[https://creativecommons.org/licenses/by-sa/4.0/legalcode](https://creativecommons.org/licenses/by-sa/4.0/legalcode)
**商标声明**
A-Tune为华为技术有限公司的商标。本文档提及的其他所有商标或注册商标,由各自的所有人拥有。
**免责声明**
本文档仅作为使用指导,除非适用法强制规定或者双方有明确书面约定, 华为技术有限公司对本文档中的所有陈述、信息和建议不做任何明示或默示的声明或保证,包括但不限于不侵权,时效性或满足特定目的的担保。
# 环境准备<a name="ZH-CN_TOPIC_0213178451"></a>
安装A-Tune之前,需要安装以上软件依赖。对于已安装openEuler的环境,按照以下章节进行安装即可。
# 简介<a name="ZH-CN_TOPIC_0213174666"></a>
操作系统作为衔接应用和硬件的基础软件,如何调整系统和应用配置,充分发挥软硬件能力,从而提升业务性能,对用户来说至关重要。然而,运行在操作系统上的业务类型成百上千,应用形态千差万别,对资源的要求各不相同,且当前硬件和基础软件组成的应用环境涉及高达7000多个配置对象,随着调优对象的增加,调优所需的时间成本以指数级增长,配置调优成为了一项极其复杂的工程,超出了一般工程师的能力范围。为了应对这些挑战,A-Tune就应运而生了。
A-Tune是一款系统性能智能自优化的系统级基础软件,它结合了大数据和人工智能技术,对应用建立精准的系统画像,通过AI感知并推理出业务特征,从而进行智能决策,匹配得出最佳的系统配置组合,使业务处于最佳的状态运行。同时,应用运行时,A-Tune还可以实时感知业务运行特征和系统负载情况,完成基于资源模型优先级的调度匹配,实现不同资源的动态分配与调度,从而充分发挥鲲鹏服务器的计算能力,使运行在鲲鹏服务器上的应用得到最佳性能表现,实现极致用户体验。
另外,A-Tune还能发挥鲲鹏芯片多核的优势,实现资源多级伸缩调度,释放鲲鹏处理器的澎湃算力,精准实现业务所需的高性能、低时延、高吞吐等业务体验。在数据库、Web、大数据等主流应用场景下,A-Tune技术使能openEuler成为鲲鹏处理器的最佳拍档。
![](figures/zh-cn_image_0214539600.png)
# 系统信息查询<a name="ZH-CN_TOPIC_0214607044"></a>
- **[check](check.md)**
# 自定义模型<a name="ZH-CN_TOPIC_0214607046"></a>
A-Tune支持用户训练新的业务模型。训练方法非常简单,用户只要通过collection和train两条命令,即可完成新模型的训练。
- **[collection](collection.md)**
- **[train](train.md)**
# 自定义负载类型<a name="ZH-CN_TOPIC_0214607045"></a>
A-Tune支持用户定义新的负载类型及对应的profile,并允许更新或删除自定义的负载类型。
- **[define](define.md)**
- **[update](update.md)**
- **[undefine](undefine.md)**
# 认识A-Tune<a name="ZH-CN_TOPIC_0213178447"></a>
- **[简介](简介.md)**
- **[架构](架构.md)**
- **[支持特性与业务模型](支持特性与业务模型.md)**
# 设置profile<a name="ZH-CN_TOPIC_0214607041"></a>
- **[profile](profile.md)**
# 软硬件要求<a name="ZH-CN_TOPIC_0213178450"></a>
## 硬件要求<a name="section175931749114410"></a>
- 鲲鹏920处理器
## 软件要求<a name="section19201810164619"></a>
安装和使用A-Tune,软件层面需要满足以下条件:
- 操作系统:openEuler 1.0
安装方法参考《openEuler 1.0 安装指南》。
>![](public_sys-resources/icon-note.gif) **说明:**
>- 由于A-Tune当前仅支持openEuler系统,所以其硬件要求和openEuler要求一致。
- 安装A-Tune依赖的软件包请参见[表1](#table04471527114213)
**表 1** A-Tune依赖软件包
<a name="table04471527114213"></a>
<table><thead align="left"><tr id="row194436271423"><th class="cellrowborder" valign="top" width="25%" id="mcps1.2.5.1.1"><p id="p4442112714219"><a name="p4442112714219"></a><a name="p4442112714219"></a><strong id="b1744292774210"><a name="b1744292774210"></a><a name="b1744292774210"></a>软件名</strong></p>
</th>
<th class="cellrowborder" valign="top" width="25%" id="mcps1.2.5.1.2"><p id="p1144312277425"><a name="p1144312277425"></a><a name="p1144312277425"></a><strong id="b64431927124212"><a name="b64431927124212"></a><a name="b64431927124212"></a>版本要求</strong></p>
</th>
<th class="cellrowborder" valign="top" width="25%" id="mcps1.2.5.1.3"><p id="p544352719427"><a name="p544352719427"></a><a name="p544352719427"></a><strong id="b13443132712426"><a name="b13443132712426"></a><a name="b13443132712426"></a>软件用途</strong></p>
</th>
<th class="cellrowborder" valign="top" width="25%" id="mcps1.2.5.1.4"><p id="p7443192712421"><a name="p7443192712421"></a><a name="p7443192712421"></a><strong id="b17443227134214"><a name="b17443227134214"></a><a name="b17443227134214"></a>获取途径</strong></p>
</th>
</tr>
</thead>
<tbody><tr id="row10443142713420"><td class="cellrowborder" valign="top" width="25%" headers="mcps1.2.5.1.1 "><p id="p14443172794210"><a name="p14443172794210"></a><a name="p14443172794210"></a>Flask_RESTful</p>
</td>
<td class="cellrowborder" valign="top" width="25%" headers="mcps1.2.5.1.2 "><p id="p24432027164211"><a name="p24432027164211"></a><a name="p24432027164211"></a>&gt;=0.3.6</p>
</td>
<td class="cellrowborder" valign="top" width="25%" headers="mcps1.2.5.1.3 "><p id="p14443122784214"><a name="p14443122784214"></a><a name="p14443122784214"></a>为A-Tune服务端提供rest API</p>
</td>
<td class="cellrowborder" valign="top" width="25%" headers="mcps1.2.5.1.4 "><p id="p10443192784218"><a name="p10443192784218"></a><a name="p10443192784218"></a>openEuler or pip源</p>
</td>
</tr>
<tr id="row8444427164217"><td class="cellrowborder" valign="top" width="25%" headers="mcps1.2.5.1.1 "><p id="p4443112734218"><a name="p4443112734218"></a><a name="p4443112734218"></a>scikit-learn</p>
</td>
<td class="cellrowborder" valign="top" width="25%" headers="mcps1.2.5.1.2 "><p id="p2443132716427"><a name="p2443132716427"></a><a name="p2443132716427"></a>&gt;=0.20.4</p>
</td>
<td class="cellrowborder" valign="top" width="25%" headers="mcps1.2.5.1.3 "><p id="p12443627124211"><a name="p12443627124211"></a><a name="p12443627124211"></a>分类模型算法,为学习系统提供分类算法</p>
</td>
<td class="cellrowborder" valign="top" width="25%" headers="mcps1.2.5.1.4 "><p id="p944442716421"><a name="p944442716421"></a><a name="p944442716421"></a>openEuler or pip源</p>
</td>
</tr>
<tr id="row144441527144215"><td class="cellrowborder" valign="top" width="25%" headers="mcps1.2.5.1.1 "><p id="p344412711422"><a name="p344412711422"></a><a name="p344412711422"></a>xgboost</p>
</td>
<td class="cellrowborder" valign="top" width="25%" headers="mcps1.2.5.1.2 "><p id="p19444142714428"><a name="p19444142714428"></a><a name="p19444142714428"></a>&gt;=0.90</p>
</td>
<td class="cellrowborder" valign="top" width="25%" headers="mcps1.2.5.1.3 "><p id="p84442270426"><a name="p84442270426"></a><a name="p84442270426"></a>分类模型算法,为学习系统给提供分类算法</p>
</td>
<td class="cellrowborder" valign="top" width="25%" headers="mcps1.2.5.1.4 "><p id="p184447279429"><a name="p184447279429"></a><a name="p184447279429"></a>openEuler or pip源</p>
</td>
</tr>
<tr id="row1044412276429"><td class="cellrowborder" valign="top" width="25%" headers="mcps1.2.5.1.1 "><p id="p0444162774213"><a name="p0444162774213"></a><a name="p0444162774213"></a>scikit-optimize</p>
</td>
<td class="cellrowborder" valign="top" width="25%" headers="mcps1.2.5.1.2 "><p id="p74441127134216"><a name="p74441127134216"></a><a name="p74441127134216"></a>&gt;=0.5.2</p>
</td>
<td class="cellrowborder" valign="top" width="25%" headers="mcps1.2.5.1.3 "><p id="p344452713426"><a name="p344452713426"></a><a name="p344452713426"></a>分类模型优化算法,为学习系统提供贝叶斯优化算法</p>
</td>
<td class="cellrowborder" valign="top" width="25%" headers="mcps1.2.5.1.4 "><p id="p44441427144219"><a name="p44441427144219"></a><a name="p44441427144219"></a>openEuler or pip源</p>
</td>
</tr>
<tr id="row11445132794217"><td class="cellrowborder" valign="top" width="25%" headers="mcps1.2.5.1.1 "><p id="p044410276426"><a name="p044410276426"></a><a name="p044410276426"></a>pandas</p>
</td>
<td class="cellrowborder" valign="top" width="25%" headers="mcps1.2.5.1.2 "><p id="p6444427194218"><a name="p6444427194218"></a><a name="p6444427194218"></a>&gt;=0.25.0</p>
</td>
<td class="cellrowborder" valign="top" width="25%" headers="mcps1.2.5.1.3 "><p id="p044415271426"><a name="p044415271426"></a><a name="p044415271426"></a>为模型训练提供数据集处理接口</p>
</td>
<td class="cellrowborder" valign="top" width="25%" headers="mcps1.2.5.1.4 "><p id="p744542717421"><a name="p744542717421"></a><a name="p744542717421"></a>openEuler or pip源</p>
</td>
</tr>
<tr id="row94459273428"><td class="cellrowborder" valign="top" width="25%" headers="mcps1.2.5.1.1 "><p id="p84451227164213"><a name="p84451227164213"></a><a name="p84451227164213"></a>dict2xml</p>
</td>
<td class="cellrowborder" valign="top" width="25%" headers="mcps1.2.5.1.2 "><p id="p3445827164217"><a name="p3445827164217"></a><a name="p3445827164217"></a>&gt;=1.6</p>
</td>
<td class="cellrowborder" valign="top" width="25%" headers="mcps1.2.5.1.3 "><p id="p344552774215"><a name="p344552774215"></a><a name="p344552774215"></a>xml格式文件生成工具</p>
</td>
<td class="cellrowborder" valign="top" width="25%" headers="mcps1.2.5.1.4 "><p id="p134457276425"><a name="p134457276425"></a><a name="p134457276425"></a>openEuler or pip源</p>
</td>
</tr>
<tr id="row044542774220"><td class="cellrowborder" valign="top" width="25%" headers="mcps1.2.5.1.1 "><p id="p64453272429"><a name="p64453272429"></a><a name="p64453272429"></a>coreutils</p>
</td>
<td class="cellrowborder" valign="top" width="25%" headers="mcps1.2.5.1.2 "><p id="p3445172717423"><a name="p3445172717423"></a><a name="p3445172717423"></a>无要求</p>
</td>
<td class="cellrowborder" valign="top" width="25%" headers="mcps1.2.5.1.3 "><p id="p644582713421"><a name="p644582713421"></a><a name="p644582713421"></a>uname命令查询版本信息</p>
</td>
<td class="cellrowborder" valign="top" width="25%" headers="mcps1.2.5.1.4 "><p id="p2044522724211"><a name="p2044522724211"></a><a name="p2044522724211"></a>openEuler</p>
</td>
</tr>
<tr id="row84462278421"><td class="cellrowborder" valign="top" width="25%" headers="mcps1.2.5.1.1 "><p id="p3445527104212"><a name="p3445527104212"></a><a name="p3445527104212"></a>dmidecode</p>
</td>
<td class="cellrowborder" valign="top" width="25%" headers="mcps1.2.5.1.2 "><p id="p3445192714427"><a name="p3445192714427"></a><a name="p3445192714427"></a>无要求</p>
</td>
<td class="cellrowborder" valign="top" width="25%" headers="mcps1.2.5.1.3 "><p id="p18445112794214"><a name="p18445112794214"></a><a name="p18445112794214"></a>BIOS等硬件相关信息查询</p>
</td>
<td class="cellrowborder" valign="top" width="25%" headers="mcps1.2.5.1.4 "><p id="p344512764212"><a name="p344512764212"></a><a name="p344512764212"></a>openEuler</p>
</td>
</tr>
<tr id="row7446112719422"><td class="cellrowborder" valign="top" width="25%" headers="mcps1.2.5.1.1 "><p id="p15446192714428"><a name="p15446192714428"></a><a name="p15446192714428"></a>hwloc-gui</p>
</td>
<td class="cellrowborder" valign="top" width="25%" headers="mcps1.2.5.1.2 "><p id="p74461827114210"><a name="p74461827114210"></a><a name="p74461827114210"></a>无要求</p>
</td>
<td class="cellrowborder" valign="top" width="25%" headers="mcps1.2.5.1.3 "><p id="p244619276427"><a name="p244619276427"></a><a name="p244619276427"></a>硬件拓扑结构查询</p>
</td>
<td class="cellrowborder" valign="top" width="25%" headers="mcps1.2.5.1.4 "><p id="p16446132734212"><a name="p16446132734212"></a><a name="p16446132734212"></a>openEuler</p>
</td>
</tr>
<tr id="row154466273429"><td class="cellrowborder" valign="top" width="25%" headers="mcps1.2.5.1.1 "><p id="p74466270424"><a name="p74466270424"></a><a name="p74466270424"></a>procps-ng</p>
</td>
<td class="cellrowborder" valign="top" width="25%" headers="mcps1.2.5.1.2 "><p id="p9446527154211"><a name="p9446527154211"></a><a name="p9446527154211"></a>无要求</p>
</td>
<td class="cellrowborder" valign="top" width="25%" headers="mcps1.2.5.1.3 "><p id="p244602774214"><a name="p244602774214"></a><a name="p244602774214"></a>sys参数查询与设置</p>
</td>
<td class="cellrowborder" valign="top" width="25%" headers="mcps1.2.5.1.4 "><p id="p16446182711429"><a name="p16446182711429"></a><a name="p16446182711429"></a>openEuler</p>
</td>
</tr>
<tr id="row6446627154213"><td class="cellrowborder" valign="top" width="25%" headers="mcps1.2.5.1.1 "><p id="p4446102784219"><a name="p4446102784219"></a><a name="p4446102784219"></a>systemd</p>
</td>
<td class="cellrowborder" valign="top" width="25%" headers="mcps1.2.5.1.2 "><p id="p14463272426"><a name="p14463272426"></a><a name="p14463272426"></a>无要求</p>
</td>
<td class="cellrowborder" valign="top" width="25%" headers="mcps1.2.5.1.3 "><p id="p6446172754215"><a name="p6446172754215"></a><a name="p6446172754215"></a>服务管理</p>
</td>
<td class="cellrowborder" valign="top" width="25%" headers="mcps1.2.5.1.4 "><p id="p13446112754215"><a name="p13446112754215"></a><a name="p13446112754215"></a>openEuler</p>
</td>
</tr>
<tr id="row9447122754220"><td class="cellrowborder" valign="top" width="25%" headers="mcps1.2.5.1.1 "><p id="p844612774210"><a name="p844612774210"></a><a name="p844612774210"></a>lshw</p>
</td>
<td class="cellrowborder" valign="top" width="25%" headers="mcps1.2.5.1.2 "><p id="p11446162764212"><a name="p11446162764212"></a><a name="p11446162764212"></a>无要求</p>
</td>
<td class="cellrowborder" valign="top" width="25%" headers="mcps1.2.5.1.3 "><p id="p1444622720426"><a name="p1444622720426"></a><a name="p1444622720426"></a>硬件信息查询</p>
</td>
<td class="cellrowborder" valign="top" width="25%" headers="mcps1.2.5.1.4 "><p id="p94465272420"><a name="p94465272420"></a><a name="p94465272420"></a>openEuler</p>
</td>
</tr>
<tr id="row644782704211"><td class="cellrowborder" valign="top" width="25%" headers="mcps1.2.5.1.1 "><p id="p164471827124213"><a name="p164471827124213"></a><a name="p164471827124213"></a>numactl</p>
</td>
<td class="cellrowborder" valign="top" width="25%" headers="mcps1.2.5.1.2 "><p id="p114477271428"><a name="p114477271428"></a><a name="p114477271428"></a>无要求</p>
</td>
<td class="cellrowborder" valign="top" width="25%" headers="mcps1.2.5.1.3 "><p id="p7447827144220"><a name="p7447827144220"></a><a name="p7447827144220"></a>NUMA信息查询</p>
</td>
<td class="cellrowborder" valign="top" width="25%" headers="mcps1.2.5.1.4 "><p id="p11447122764219"><a name="p11447122764219"></a><a name="p11447122764219"></a>openEuler</p>
</td>
</tr>
<tr id="row18447182794220"><td class="cellrowborder" valign="top" width="25%" headers="mcps1.2.5.1.1 "><p id="p344792711420"><a name="p344792711420"></a><a name="p344792711420"></a>perf</p>
</td>
<td class="cellrowborder" valign="top" width="25%" headers="mcps1.2.5.1.2 "><p id="p644720271424"><a name="p644720271424"></a><a name="p644720271424"></a>无要求</p>
</td>
<td class="cellrowborder" valign="top" width="25%" headers="mcps1.2.5.1.3 "><p id="p10447927154218"><a name="p10447927154218"></a><a name="p10447927154218"></a>性能数据采集与分析</p>
</td>
<td class="cellrowborder" valign="top" width="25%" headers="mcps1.2.5.1.4 "><p id="p944714273425"><a name="p944714273425"></a><a name="p944714273425"></a>openEuler</p>
</td>
</tr>
<tr id="row14471827114219"><td class="cellrowborder" valign="top" width="25%" headers="mcps1.2.5.1.1 "><p id="p13447162717424"><a name="p13447162717424"></a><a name="p13447162717424"></a>sysstat</p>
</td>
<td class="cellrowborder" valign="top" width="25%" headers="mcps1.2.5.1.2 "><p id="p1244712272423"><a name="p1244712272423"></a><a name="p1244712272423"></a>无要求</p>
</td>
<td class="cellrowborder" valign="top" width="25%" headers="mcps1.2.5.1.3 "><p id="p24471027144220"><a name="p24471027144220"></a><a name="p24471027144220"></a>系统性能统计数据搜集</p>
</td>
<td class="cellrowborder" valign="top" width="25%" headers="mcps1.2.5.1.4 "><p id="p10447827124213"><a name="p10447827124213"></a><a name="p10447827124213"></a>openEuler</p>
</td>
</tr>
<tr id="row9447727104212"><td class="cellrowborder" valign="top" width="25%" headers="mcps1.2.5.1.1 "><p id="p174472274426"><a name="p174472274426"></a><a name="p174472274426"></a>ethtool</p>
</td>
<td class="cellrowborder" valign="top" width="25%" headers="mcps1.2.5.1.2 "><p id="p10447127144214"><a name="p10447127144214"></a><a name="p10447127144214"></a>无要求</p>
</td>
<td class="cellrowborder" valign="top" width="25%" headers="mcps1.2.5.1.3 "><p id="p844772734216"><a name="p844772734216"></a><a name="p844772734216"></a>网卡统计数据查询</p>
</td>
<td class="cellrowborder" valign="top" width="25%" headers="mcps1.2.5.1.4 "><p id="p18447172717427"><a name="p18447172717427"></a><a name="p18447172717427"></a>openEuler</p>
</td>
</tr>
</tbody>
</table>
# 部署A-Tune<a name="ZH-CN_TOPIC_0213178455"></a>
- **[配置介绍](配置介绍.md)**
# 配置介绍<a name="ZH-CN_TOPIC_0213178456"></a>
A-Tune的详细配置保存在/etc/atuned/atuned.cnf文件中,用户根据实际系统配置进行配置
这里介绍常见配置项的含义:
- A-Tune服务启动配置
可根据需要进行修改。
- address:系统grpc服务的侦听地址,默认为127.0.0.1,若为多机部署,需进行修改。
- port:系统grpc服务的侦听端口,范围为0\~65535未使用的端口。
- rest\_port:系统restservice的侦听端口, 范围为0\~65535未使用的端口。
- sample\_num:系统执行analysis流程时采集样本的数量。
- system信息
system为系统执行相关的优化需要用到的参数信息,必须根据系统实际情况进行修改。
- disk:执行analysis流程时需要采集的对应磁盘的信息或执行磁盘相关优化时需要指定的磁盘。
- network:执行analysis时需要采集的对应的网卡的信息或执行网卡相关优化时需要指定的网卡。
- user:执行ulimit相关优化时用到的用户名。
- 日志信息
根据情况修改日志的路径和级别,默认的日志信息在/var/log/message中。
- monitor信息
为系统启动时默认采集的系统的硬件信息。
## 配置示例<a name="section616213774714"></a>
```
#################################### server ###############################
# atuned config
[server]
# the address the grpc server to bind to, default is 127.0.0.1
address = 127.0.0.1
# the atuned grpc listening port, default is 60001
# the port can be set between 0 to 65535 the not be used
port = 60001
# the rest service listening port, default is 8383
# the port can be set between 0 to 65535 than not be used
rest_port = 8383
# when run analysis command, the numbers of collected data.
# default is 20
sample_num = 20
#################################### log ###############################
[log]
# log path, must be a absolute path
path = /var/log/atuned
# Either "debug", "info", "warn", "error", "critical", default is "info"
level = info
#################################### monitor ###############################
[monitor]
# With the module and format of the MPI, the format is {module}_{purpose}
# The module is Either "mem", "net", "cpu", "storage"
# The purpose is "topo"
module = mem_topo, cpu_topo
#################################### system ###############################
# you can add arbitrary key-value here, just like key = value
# you can use the key in the profile
[system]
# the disk to be analysis
disk = sda
# the network to be analysis
network = enp189s0f0
user = root
```
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册