diff --git a/docs/user_manual.md b/docs/user_manual.md
index 3c54e680c7f188873af726180bd677c09ab3e44f..0af6b12e128a5bd3ec0a530b6b23e0d7c90d7e67 100644
--- a/docs/user_manual.md
+++ b/docs/user_manual.md
@@ -8,12 +8,12 @@
- 操作系统迁移管理人员
## 安装SysOM工具
### 环境要求
-操作系统要求
+#### 操作系统要求
centos7及以上,anolis os 8.4及以上
-硬件要求
+#### 硬件要求
CPU数建议8核以上,内存建议32G以上。如果需要热补丁功能,CPU数建议32核以上。
SysOM 2.1及之前的版本,只支持x86_64架构。
-软件包要求
+#### 软件包要求
支持python3及python3相关软件包,grafana及grafana依赖包,make/gcc等编译软件包及相关依赖包,mysql/mariadb,redis,nfs-utils,rpcbind,wget,ssh,nginx,supervisord,yum,dnf等。
### 操作步骤
@@ -63,9 +63,7 @@ Oct 10 12:58:51 mfeng bash[3217754]: + sed -i 's/^FIRST_INIT_DONE=0/FIRST_INIT_D
| **参数** | **说明** |
| --- | --- |
-| 密码 | 设置登陆用户密码需要满足以下要求:
-SysOM 2.1版本之前没要求。
-SysOM 2.1之后的版本要求:密码不能少于8位且必须包含英文字母、数字、特殊字符三种及以上 |
+| 密码 | 设置登陆用户密码需要满足以下要求:
SysOM 2.1版本之前没要求。
SysOM 2.1之后的版本要求:密码不能少于8位且必须包含英文字母、数字、特殊字符三种及以上。 |
## 主机管理
### 概述
@@ -75,6 +73,7 @@ SysOM 2.1之后的版本要求:密码不能少于8位且必须包含英文字
1. 进入“主机管理”菜单,下拉菜单中选择点击”集群列表“进入“集群管理”页面。
2. 点击“新建集群”打开新建集群弹出框,输入以下参数。
+
| **参数** | **说明** |
| --- | --- |
| 集群名称 | 设置集群名称需要满足以下要求:集群名称长度应小于128字节 |
@@ -100,15 +99,14 @@ SysOM 2.1之后的版本要求:密码不能少于8位且必须包含英文字
1. 进入“主机管理”菜单,下拉菜单中选择点击”主机列表“进入“主机管理”页面。
2. 单击“新建主机”打开新建主机弹出框,输入以下参数。
+
| **参数** | **说明** |
| --- | --- |
| 选择集群 | 选择已创建集群。 |
| 主机名称 | 主机名称为该主机在SysOM平台上的名称,需要满足以下要求:主机名称长度应小于100字节 |
| 用户名称 | 输入被管理主机的用户的名称。 |
| 用户密码 | 输入被管理主机的用户的密码。 |
-| IP地址 | 输入被管理主机的IP地址。
-说明:
-被管理主机与部署SysOM工具的环境需要保持可联通状态。 |
+| IP地址 | 输入被管理主机的IP地址。
说明:被管理主机与部署SysOM工具的环境需要保持可联通状态。 |
| 端口 | 输入被管理主机的SSH协议端口。 |
| 备注信息 | 输入备注信息。 |
@@ -150,9 +148,9 @@ SysOM 2.1之后的版本要求:密码不能少于8位且必须包含英文字
### 开始迁移评估
#### 前提条件
-主机列表的主机的“主机状态”为“运行中”。
-迁移评估的主机操作系统在迁移支持的操作系统列表中。
-迁移评估的主机没有正在运行的迁移评估任务。
+主机列表的主机的“主机状态”为“运行中”。
+迁移评估的主机操作系统在迁移支持的操作系统列表中。
+迁移评估的主机没有正在运行的迁移评估任务。
迁移评估的主机当前没有执行迁移实施。
#### 操作步骤
@@ -161,30 +159,23 @@ SysOM 2.1之后的版本要求:密码不能少于8位且必须包含英文字

2. 填写评估所需的信息,参数说明如下。
+
| **参数** | **说明** |
| --- | --- |
| 选择机器 | 选择需要被评估的机器,可多选。 |
| 迁移版本 | 选择机器迁移的目的操作系统版本。 |
-| Repo配置 | 用于配置迁移评估的仓库 (其中仓库代指 yum 源软件仓库),此处可选择使用公网地址的默认地址或内网地址。在评估阶段,SysOM 会自动分析仓库的软件包和基础库,将其与本地环境做比对并得出一封评估报告。
-
-说明:
-- 若选择公网地址,则 SysOM 会尝试从社区源 ([https://mirrors.openanolis.cn/)](https://mirrors.openanolis.cn/)) 取回数据,届时请确保主机可以访问公网;
-- 若选择内网地址,则需要在内网搭建软件仓库,具体搭建方法可以参考社区知识库中的帮助信息([https://openanolis.cn/sig/migration/doc/447499505912234337](https://openanolis.cn/sig/migration/doc/447499505912234337))。
- |
-| 选择评估 | 勾选本次评估的具体内容,其中风险评估为必选项,系统评估,硬件评估,应用评估为可选项。
-说明:
-勾选应用评估之后,请在弹出框中输入需要评估的应用列表,用英文逗号分隔,支持模糊搜索,具体可评估的应用列表请在被评估主机上执行 rpm -qa 进行查看。 |
+| Repo配置 | 用于配置迁移评估的仓库 (其中仓库代指 yum 源软件仓库),此处可选择使用公网地址的默认地址或内网地址。在评估阶段,SysOM 会自动分析仓库的软件包和基础库,将其与本地环境做比对并得出一封评估报告。
说明:
- 若选择公网地址,则 SysOM 会尝试从社区源 ([https://mirrors.openanolis.cn/)](https://mirrors.openanolis.cn/)) 取回数据,届时请确保主机可以访问公网;
- 若选择内网地址,则需要在内网搭建软件仓库,具体搭建方法可以参考社区知识库中的帮助信息([https://openanolis.cn/sig/migration/doc/447499505912234337](https://openanolis.cn/sig/migration/doc/447499505912234337))。|
+| 选择评估 | 勾选本次评估的具体内容,其中风险评估为必选项,系统评估,硬件评估,应用评估为可选项。
说明:
勾选应用评估之后,请在弹出框中输入需要评估的应用列表,用英文逗号分隔,支持模糊搜索,具体可评估的应用列表请在被评估主机上执行 rpm -qa 进行查看。 |
3. 点击“开始评估”,生成一条评估记录,可通过“评估进度”列查看主机迁移评估的进度。“评估进度”和“评估说明”的说明如下。
+
| **参数** | **数值** | **说明** |
| --- | --- | --- |
| 评估进度 | <100% | 代表当前正在进行评估。 |
| | 100% | 代表评估已完成。 |
| 评估状态 | 评估中 | 代表当前正在进行评估。 |
| | 评估停止 | 代表正在评估中的主机在“操作”中被执行了“停止”操作,评估未完成。 |
-| | 评估失败 | 代表评估失败。
-说明:
-根据勾选评估内容依次执行评估,入遇到某个评估失败,则当前整个评估任务失败,评估失败原因可通过鼠标悬浮在“评估失败”状态上查看。 |
+| | 评估失败 | 代表评估失败。
说明:
根据勾选评估内容依次执行评估,入遇到某个评估失败,则当前整个评估任务失败,评估失败原因可通过鼠标悬浮在“评估失败”状态上查看。 |
| | 评估完成 | 代表评估已完成。 |

@@ -202,6 +193,7 @@ SysOM 2.1之后的版本要求:密码不能少于8位且必须包含英文字
1. 在评估记录列表中找到想要查看的主机,点击“操作”列的“查看报告”跳转到评估报告详情页面,点击不同的评估项可切换到不同的报告内容,即使未评估完成或者评估失败,也可以查看某一项已经评估完成的内容。
2. 报告说明如下表。
+
| **评估报告** | **参数** | **说明** |
| --- | --- | --- |
| 风险评估 | 风险项 | 迁移过程中可能出现的风险问题 |
@@ -249,30 +241,27 @@ SysOM 2.1之后的版本要求:密码不能少于8位且必须包含英文字

### 迁移实施
#### 前提条件
-主机列表的主机的“主机状态”为“运行中”。
-迁移实施的主机操作系统在迁移支持的操作系统列表中。
-迁移实施的主机没有正在运行的迁移评估任务。
-迁移实施的主机当前没有执行迁移实施。
+主机列表的主机的“主机状态”为“运行中”。
+迁移实施的主机操作系统在迁移支持的操作系统列表中。
+迁移实施的主机没有正在运行的迁移评估任务。
+迁移实施的主机当前没有执行迁移实施。
#### 操作步骤
1. 进入“操作系统迁移”菜单,下拉菜单中选择点击”迁移实施“进入“迁移实施”页面。
2. 菜单机器列表中可查看所有主机及状态,点击左上角可切换集群,找到需要迁移的主机,在操作列点击“...”弹出下拉菜单。点击“迁移配置”弹出迁移配置框。参数说明如下。
+
| **参数** | **说明** |
| --- | --- |
| 选择机器 | 显示所选机器。 |
| 迁移版本 | 选择机器迁移的目的操作系统版本。 |
| 选择内核 | 选择内核,目前仅支持迁移至ANCK内核。 |
-| Repo配置 | 用于配置迁移实施的仓库 (其中仓库代指 yum 源软件仓库),此处可选择使用公网地址的默认地址或内网地址。在迁移实施阶段,SysOM 会自动从仓库中下载所需的软件包,用以替换当前系统的基础软件体系。
-
-说明:
-- 若选择公网地址,则 SysOM 会尝试从社区源 ([https://mirrors.openanolis.cn/)](https://mirrors.openanolis.cn/))取回数据,届时请确保主机可以访问公网;
-- 若选择内网地址,则需要在内网搭建软件仓库,具体搭建方法可以参考社区知识库中的帮助信息([https://openanolis.cn/sig/migration/doc/447499505912234337](https://openanolis.cn/sig/migration/doc/447499505912234337))。
- |
+| Repo配置 | 用于配置迁移实施的仓库 (其中仓库代指 yum 源软件仓库),此处可选择使用公网地址的默认地址或内网地址。在迁移实施阶段,SysOM 会自动从仓库中下载所需的软件包,用以替换当前系统的基础软件体系。
说明:
- 若选择公网地址,则 SysOM 会尝试从社区源 ([https://mirrors.openanolis.cn/)](https://mirrors.openanolis.cn/))取回数据,届时请确保主机可以访问公网;
- 若选择内网地址,则需要在内网搭建软件仓库,具体搭建方法可以参考社区知识库中的帮助信息([https://openanolis.cn/sig/migration/doc/447499505912234337](https://openanolis.cn/sig/migration/doc/447499505912234337))。 |
| 备份配置 | 选择是否在迁移前进行备份,若不需要备份选择“不备份”,需要则选择“NFS备份”并填入NFS服务的IP地址、输入NFS的目录名称及该主机无需备份的目录名称。 |

3. 点击“确定”,主机“迁移状态”变为“就绪中”。根据下表的步骤操作,当迁移状态为“就绪中”时,表示本次操作已完成,可以点击操作列“...”进行下一步操作,直至迁移完成,如果迁移状态为“失败”,失败原因可通过鼠标悬浮在迁移状态上查看。迁移中的所有操作步骤及说明如下。
+
| **步骤** | **说明** |
| --- | --- |
| 迁移配置 | 配置迁移主机的迁移参数,详情参考步骤2。 |
@@ -314,12 +303,10 @@ SysOM 2.1之后的版本要求:密码不能少于8位且必须包含英文字
1. 进入“监控中心”菜单,下拉菜单中选择点击”迁移监控“进入“迁移监控”页面。
2. 在左侧“机器列表”中点击需要查看的主机,右侧的监控面板,就会显示该主机的迁移监控各个指标。指标项简要说明:
+
| **指标栏** | 指标项 | **说明** |
| --- | --- | --- |
-| 资源总额 | 原始/当前内核版本 | 指标项主要展示主机的一些主要资源的总体情况,包括:内核版本,内存总量,大页内存总量,磁盘空间,磁盘个数,网卡数量,启用的网卡数量等。
-
-原始值:代表主机执行操作系统迁移前的情况。如果没有执行过操作系统迁移,那原始的值都为空(No data)
-当前值:代表主机当前的资源情况 |
+| 资源总额 | 原始/当前内核版本 | 指标项主要展示主机的一些主要资源的总体情况,包括:内核版本,内存总量,大页内存总量,磁盘空间,磁盘个数,网卡数量,启用的网卡数量等。
原始值:代表主机执行操作系统迁移前的情况。如果没有执行过操作系统迁移,那原始的值都为空(No data)
当前值:代表主机当前的资源情况 |
| | 原始/当前内存可用总量 | |
| | 原始/当前大页内存总量 | |
| | 原始/当前磁盘可用空间总量 | |
@@ -345,20 +332,16 @@ SysOM 2.1之后的版本要求:密码不能少于8位且必须包含英文字
| **指标栏** | 指标项 | **说明** |
| --- | --- | --- |
-| Quick CPU/Mem/Disk | CPU Busy | Quick CPU/Mem/Disk:主要是展示一个整机的大体资源使用情况,以及CPU/Mem/Disk等资源的总额情况。
-CPU Busy:整机的CPU使用率
-Sys Load:整机的负载
-RAM Used:整机的内存使用率
-Root FS Used:根文件系统使用率
-CPU cores:CPU个数
-Uptime:机器运行时长 |
-| | Sys Load | |
-| | RAM Used | |
-| | Swap Used | |
-| | Root FS Used | |
-| | CPU cores | |
-| | Uptime | |
-| Basic CPU / Mem / Net / Disk | CPU Basic | CPU几种状态的占用率情况(System,User,IOwait,IRQS,idle,Other) |
+| Quick CPU/Mem/Disk | | Quick CPU/Mem/Disk:主要是展示一个整机的大体资源使用情况,以及CPU/Mem/Disk等资源的总额情况。|
+| | CPU Busy | CPU Busy:整机的CPU使用率 |
+| | Sys Load | Sys Load:整机的负载 |
+| | RAM Used | RAM Used:整机的内存使用率 |
+| | Swap Used | Swap Used:交换分区的使用率 |
+| | Root FS Used | Root FS Used:根文件系统使用率 |
+| | CPU cores | CPU cores:CPU个数 |
+| | Uptime | Uptime:机器运行时长 |
+| Basic CPU / Mem / Net / Disk | | |
+| | CPU Basic | CPU几种状态的占用率情况(System,User,IOwait,IRQS,idle,Other) |
| | Memory Basic | Memory使用率基本情况(Total,Used,Cache,free,swap) |
| | Network Traffic Basic | 网络流量收发情况 |
| | Disk Space Used Basic | 磁盘使用率情况 |
@@ -399,11 +382,11 @@ Uptime:机器运行时长 |

-4. 点击“录入解决方案”,会弹窗,接受用户输入解决方案
+4. 点击“录入解决方案”,会弹窗,接受用户输入解决方案。

-5. 输入“解决方案”,点击“确认”,会回跳到宕机详情页面
+5. 输入“解决方案”,点击“确认”,会回跳到宕机详情页面。

@@ -450,6 +433,7 @@ CPU长时间在内核态执行,导致用户态进程长期得不到调度,
##### 2. 功能描述
记录调度抖动发生的时间点、发生的次数、和抖动的具体数值,可以帮助用户更好的定位调度抖动的根因。
##### 3. 诊断参数
+
| **参数名** | **参数说明** | **是否必填** |
| --- | --- | --- |
| 实例IP | 目标Node节点的IP | 必填 |
@@ -458,18 +442,15 @@ CPU长时间在内核态执行,导致用户态进程长期得不到调度,
##### 4. 在线诊断

-**事件总览:**目前有3类事件:调度延迟、sys延迟和irq延迟。不同的事件由具体的告警与否(及颜色)来分辨。蓝色表示有告警事件发生,绿色表示正常。
+**事件总览:** 目前有3类事件:调度延迟、sys延迟和irq延迟。不同的事件由具体的告警与否(及颜色)来分辨。蓝色表示有告警事件发生,绿色表示正常。

-**抖动时间线图:**记录了调度抖动发生的时间点、发生的次数、和抖动的具体数值。
+**抖动时间线图:** 记录了调度抖动发生的时间点、发生的次数、和抖动的具体数值。

-**调度抖动详情:**将调具体的度抖动事件以table的方式展示出来,下面是表中各列指标说明。
+**调度抖动详情:** 将调具体的度抖动事件以table的方式展示出来,下面是表中各列指标说明。
| date | class | latency | cpu | current | stamp | extern |
| --- | --- | --- | --- | --- | --- | --- |
-| 表示调度抖动告警事件发生的日期 | 表示具体的调度抖动事件类型。目前有调度延迟、sys延迟和irq延迟3类 | 具体的抖动延迟值,单位ms | 调度抖动告警发生的cpu号 | 受干扰的当前任务名字和pid | 发生调度抖动告警时的机器上的时间戳 | 额外信息。不同的class有不同的额外信息:
-调度延迟:nr_running 表示cpu队列上的排队的任务数量,prev表示当前cpu上前一个任务
-sys延迟:发生调度抖动告警时的上下文堆栈
-irq延迟:发生调度抖动告警时的上下文堆栈 |
+| 表示调度抖动告警事件发生的日期 | 表示具体的调度抖动事件类型。目前有调度延迟、sys延迟和irq延迟3类 | 具体的抖动延迟值,单位ms | 调度抖动告警发生的cpu号 | 受干扰的当前任务名字和pid | 发生调度抖动告警时的机器上的时间戳 | 额外信息。不同的class有不同的额外信息:
调度延迟:nr_running 表示cpu队列上的排队的任务数量,prev表示当前cpu上前一个任务
sys延迟:发生调度抖动告警时的上下文堆栈
irq延迟:发生调度抖动告警时的上下文堆栈 |

##### 5. 离线导入
@@ -489,11 +470,11 @@ SysOM 负载分析诊断功能主要分析系统负载情况,进程分布及
##### 4. 在线诊断

-**事件总览:**显示当前系统负载,并诊断负载是否对系统sys utils、硬中断、软中断、io有影响。
+**事件总览:** 显示当前系统负载,并诊断负载是否对系统sys utils、硬中断、软中断、io有影响。

-**进程分布:**诊断当前系统R和D状态的分布情况和导致系统负载高的贡献度。
+**进程分布:** 诊断当前系统R和D状态的分布情况和导致系统负载高的贡献度。

-**调度火焰图:**显示系统调度火焰图,可直接查询导致负载高的热点函数。
+**调度火焰图:** 显示系统调度火焰图,可直接查询导致负载高的热点函数。

##### 5. 离线导入
使用方式同调度抖动诊断
@@ -509,8 +490,11 @@ profile系统的热点应用(占用cpu多的任务),对热点应用给出性
##### 4.在线诊断
参数输入
+

+
诊断结果
+

- COMM :占用系统cpu资源最多的top10任务
@@ -539,19 +523,26 @@ IO流量积压、存储设备异常等情况容易造成 IO 请求处理慢,IO
| 目标磁盘 | 需要检测的磁盘名称,如sda,sdb等。 | 选填(不指定则诊断所有磁盘) |
##### 4. 在线诊断
-**iolantency 总览:** 表示在一个诊断周期内,捕捉到的超时IO的个数,个数为0时,check result的状态为normal,字体显示绿色,表示当前无异常的慢IO,个数不为0时,check result的状态为abnormal,字体显示红色,表示当前存在超出阈值的慢IO;_注意:阈值在发起诊断的时候可以指定,不指定情况下,默认为1000ms,_在诊断结果最右侧支持磁盘的checklist选择展示不同磁盘的数据,切换数据展示。
+
+
+**iolantency 总览:** 表示在一个诊断周期内,捕捉到的超时IO的个数,个数为0时,check result的状态为normal,字体显示绿色,表示当前无异常的慢IO,个数不为0时,check result的状态为abnormal,字体显示红色,表示当前存在超出阈值的慢IO。
+- 注意:阈值在发起诊断的时候可以指定,不指定情况下,默认为1000ms。
+- 在诊断结果最右侧支持磁盘的checklist选择展示不同磁盘的数据,切换数据展示。
+

-**整体 IO 时延分布:**这部分展示IO整体在OS以及磁盘各个存储链路上的延迟分布,每个框图中的指标解读为:
+**整体 IO 时延分布:** 这部分展示IO整体在OS以及磁盘各个存储链路上的延迟分布,每个框图中的指标解读为:
- 左上角为链路名,分别表示IO在经过此路径的延迟损耗,其中主要包括OS、Disk两部分,又根据IO的生命周期,进一步将OS中细分为block、driver、complete三部分(分别表示内核通用块层、驱动、IO完成后回收三部分)
- 右上角表示在此链路耗时占整体耗时的百分比
- 中间的max_us、avg_us、min_us则分别表示IO在此路径上的最大延迟、平均延迟、最小延迟,单位us。

-**单 IO 时延 metrics 展示:**该部分将捕捉到的每一个超时IO,通过时序数据曲线的方式展示出来,X轴为时间日期,Y轴为延迟(单位us),图中有5条曲线,分别表示每个IO的total delay、block delay、driver delay、disk delay、complete delay,可以看出这个是更细粒度的针对每一个IO在存储各链路上的延迟分布。
+
+**单 IO 时延 metrics 展示:** 该部分将捕捉到的每一个超时IO,通过时序数据曲线的方式展示出来,X轴为时间日期,Y轴为延迟(单位us),图中有5条曲线,分别表示每个IO的total delay、block delay、driver delay、disk delay、complete delay,可以看出这个是更细粒度的针对每一个IO在存储各链路上的延迟分布。
+

-**Top 10 IO 详情:**这部分展示了IO总延迟大小排在前TOP10的IO的更多细节
+**Top 10 IO 详情:** 这部分展示了IO总延迟大小排在前TOP10的IO的更多细节
- `time`:表示检测到此超时IO的时间日期,精确到ms;
- `abnormal`:表示此IO延迟消耗最大的原因,以“延迟最大的路径(此路径耗时:IO整体耗时 单位)”形式展示;
- `iotype`:表示具体的IO操作,各字母缩写参考:
@@ -584,11 +575,12 @@ IO流量积压、存储设备异常等情况容易造成 IO 请求处理慢,IO
##### 4. 在线诊断

-**诊断结论:**这部分展示一个summary信息,如在诊断期间检测到了多大的IO流量(_通过iops、bps表示在result列_),产生这么大的流量的原因是什么(_展示在reason列,一般形式为:某某进程,访问某磁盘,iops是多大,IO吞吐是多大,访问的目标文件是什么;其中针对kworker刷脏这类异步IO,支持对实际写buffer io进程的溯源能力_),以及相关处理建议;
+**诊断结论:** 这部分展示一个summary信息,如在诊断期间检测到了多大的IO流量(_通过iops、bps表示在result列_),产生这么大的流量的原因是什么(_展示在reason列,一般形式为:某某进程,访问某磁盘,iops是多大,IO吞吐是多大,访问的目标文件是什么;其中针对kworker刷脏这类异步IO,支持对实际写buffer io进程的溯源能力_),以及相关处理建议;

-在诊断结果最右侧支持磁盘的checklist选择展示不同磁盘的数据,注意切换的是即将介绍的**磁盘IO流量分析、进程IO流量分析、进程IO块大小分析**这三部分的数据展示:
+
+在诊断结果最右侧支持磁盘的checklist选择展示不同磁盘的数据,注意切换的是即将介绍的**磁盘IO流量分析、进程IO流量分析、进程IO块大小分析** 这三部分的数据展示:

-**磁盘 IO 流量分析:**该部分展示诊断期间,统计到的磁盘IO流量,支持通过磁盘的checklist选择展示不同磁盘的数据,主要字段:
+**磁盘 IO 流量分析:** 该部分展示诊断期间,统计到的磁盘IO流量,支持通过磁盘的checklist选择展示不同磁盘的数据,主要字段:
- `diskname`:磁盘/分区名称
- `r_rqm`:诊断期间合并读操作的次数
@@ -601,9 +593,9 @@ IO流量积压、存储设备异常等情况容易造成 IO 请求处理慢,IO
- `util%`:该硬盘设备的繁忙比率

-**进程 IO 流量分析:**该部分展示诊断期间,进程级别IO流量,支持通过磁盘的checklist选择展示不同磁盘的数据,主要字段:
-- `comm` : 进程名
+**进程 IO 流量分析:** 该部分展示诊断期间,进程级别IO流量,支持通过磁盘的checklist选择展示不同磁盘的数据,主要字段:
+- **comm** : 进程名
- **tgid:pid** : 进程id信息
- **iops_rd** : 进程贡献的读iops
- **bps_rd** : 进程贡献的读bps
@@ -615,7 +607,7 @@ IO流量积压、存储设备异常等情况容易造成 IO 请求处理慢,IO
其中尤其注意到,该功能支持kworker刷脏的IO溯源能力,所以可以看到在kworker进程下面存在子项,展开可以看到实际产生脏页(写buffer io)的进程

-**进程 IO 块大小分析:**该部分展示诊断期间,进程级别IO提交到OS块层的块大小分布,支持通过磁盘的checklist选择展示不同磁盘的数据,其中pat_WNK,表示IO大小为nKB以内的IO个数占比,large则表示大于512KB的大块IO的占比。
+**进程 IO 块大小分析:** 该部分展示诊断期间,进程级别IO提交到OS块层的块大小分布,支持通过磁盘的checklist选择展示不同磁盘的数据,其中pat_WNK,表示IO大小为nKB以内的IO个数占比,large则表示大于512KB的大块IO的占比。

##### 5. 离线导入
使用方式同调度抖动诊断。
@@ -634,12 +626,15 @@ IO流量积压、存储设备异常等情况容易造成 IO 请求处理慢,IO
##### 4. 在线诊断

-**IO HANG 总览:**表示在一个诊断周期内,检测是否有IO HANG,无IO HANG时,check result的状态为normal,字体显示绿色,有IO HANG时,check result的状态为abnormal,字体显示红色,而Number of OS HANG或者Number of Disk HANG,分别表示IO HANG在OS或者磁盘的IO个数。
+
+**IO HANG 总览:** 表示在一个诊断周期内,检测是否有IO HANG,无IO HANG时,check result的状态为normal,字体显示绿色,有IO HANG时,check result的状态为abnormal,字体显示红色,而Number of OS HANG或者Number of Disk HANG,分别表示IO HANG在OS或者磁盘的IO个数。
+

+
在诊断结果最右侧支持磁盘的checklist选择展示不同磁盘的数据,切换数据展示:

-**TOP 10 详情:**这部分展示了HANG住持续时间的前TOP 10个IO的详情
+**TOP 10 详情:** 这部分展示了HANG住持续时间的前TOP 10个IO的详情
- `time`:表示检测到此IO HANG的时间日期,精确到ms
- `abnormal`:表示此IO HANG在哪,以“HANG在哪(具体原因)HANG了多久”形式展示
- `iotype`:表示具体的IO操作,如Write/Read/Discard等等
@@ -672,8 +667,8 @@ IO流量积压、存储设备异常等情况容易造成 IO 请求处理慢,IO
##### 4. 在线诊断

-丢包诊断以表格方式呈现,具体解析如下:
+丢包诊断以表格方式呈现,具体解析如下:
1. 时间戳:显示时间信息;
2. 网卡名称:如果是硬件或者网卡相关丢包,则会显示网卡名称。
3. 丢包点:丢包点的形式是: 内核丢包函数名+丢包点偏移+丢包次数。
@@ -709,8 +704,8 @@ IO流量积压、存储设备异常等情况容易造成 IO 请求处理慢,IO
##### 4. 在线诊断

-重传诊断以表格方式呈现,具体解析如下:
+重传诊断以表格方式呈现,具体解析如下:
1. 时间戳:显示重传时间;
2. ip地址:五元组信息;
3. tcp状态:tcp sock所处的状态;
@@ -729,19 +724,18 @@ IO流量积压、存储设备异常等情况容易造成 IO 请求处理慢,IO
| 目标实例IP | 目的节点IP | 必填 |
| 运行时间 | 持续诊断时长(时间单位:s) | 必填,默认为 10s |
| 追踪包数 | 模拟发包的最大报文数 | 必填,默认为 100 |
-| 间隔毫秒数 | 模拟发包时两次发包的
-间隔毫秒数(时间单位:ms) | 必填,默认为 1000ms |
+| 间隔毫秒数 | 模拟发包时两次发包的间隔毫秒数(时间单位:ms) | 必填,默认为 1000ms |
| 报文协议 | 模拟发包的报文协议 | 必填,默认为ICMP |
##### 4. 在线诊断

-**发送报文路径:**发送报文路径是 ping 的发起端的 icmp 报文时延信息,包含:
+**发送报文路径:** 发送报文路径是 ping 的发起端的 icmp 报文时延信息,包含:
1. 内核发送:表示 icmp echo 报文在内核发送路径的时延;
2. 外部链路:表示 icmp 报文在外部链路的耗时;
3. 内核接收:表示 icmp echo reply报文内核接收路径的时延。
-**接收报文路径:**接收报文路径是ping的接收端的 icmp 报文时延信息,包含:
+**接收报文路径:** 接收报文路径是ping的接收端的 icmp 报文时延信息,包含:
1. 内核接受:表示 icmp echo 报文在内核接收路径的时延;
2. 内核发送:表示 icmp echo reply 报文内核发送路径的时延。
@@ -766,7 +760,7 @@ IO流量积压、存储设备异常等情况容易造成 IO 请求处理慢,IO
##### 4. 在线诊断

-**内存事件:**主要对内存相关风险一键检查,快速识别系统是否存在内存问题
+**内存事件:** 主要对内存相关风险一键检查,快速识别系统是否存在内存问题
- 内存利用率:系统内存利用率;
- 内存泄漏:排查系统是否存在泄漏,以及泄漏的类型,目前支持slab, vmalloc和伙伴系统三种泄漏识别;
@@ -774,20 +768,19 @@ IO流量积压、存储设备异常等情况容易造成 IO 请求处理慢,IO
- 内存碎片化:评估系统是否存在内存碎片化,内存碎片化会导致系统性能下降

-**内存总览(Overview):**内存总览展示系统所有内存的使用情况,实现内存的可维可测可追踪(1+1+1=3),也就是总内存 = 内核内存(kernel) + 应用内存(app) + 空闲内存(free),然后再进一步细分内核内存和应用内存。
-
+**内存总览(Overview):** 内存总览展示系统所有内存的使用情况,实现内存的可维可测可追踪(1+1+1=3),也就是总内存 = 内核内存(kernel) + 应用内存(app) + 空闲内存(free),然后再进一步细分内核内存和应用内存。
- **总内存**
- `kernel`:表示操作系统内核内存总使用量
- `app`:表示用户态程序内存总使用量
- `free`:系统空闲内存
-- **内核内存:**内核态内存,我们重点关注Sunreclaim,伙伴系统的使用量,我们通常说的内存泄漏通常都是这两个指标异常。
+- **内核内存:** 内核态内存,我们重点关注Sunreclaim,伙伴系统的使用量,我们通常说的内存泄漏通常都是这两个指标异常。
- `Sreclaimable`:Slab可回收内存
- `Sunreclaim`:Slab不可回收内存
- `PageTables`:内核页表占用内存
- `Vmalloc`:内核调用vmalloc分配的内存
- `KernelStack`:进程的内核堆栈总内存
- `AllocPages`:内核调用alloc_pages等接口直接从伙伴系统分配的内存量,这类内存无法通过任何节点文件获取,使用过多会造成内存黑洞。
-- **应用内存 => **用户态内存,我们重点关注anon,shmem,filecache
+- **应用内存 => ** 用户态内存,我们重点关注anon,shmem,filecache
- `filecache`:文件缓存内存,这类内存可以通过drop caches回收。
- `anon`:匿名内存,程序堆和栈内存,匿名内存占用过多,需要评估业务进程是否有内存泄漏,系统是否开启了透明大页。
- `mlock`:系统锁住的内存量
@@ -796,9 +789,9 @@ IO流量积压、存储设备异常等情况容易造成 IO 请求处理慢,IO
- `shmem`:共享内存(tmpfs)。业务进程退出后,经常会忘记删除tmpfs文件,或者在打开状态,直接删掉tmpfs文件,都会操作shmem泄漏。

-**进程内存:**以进程维度按内存大小排序,并分解成匿名内存,文件缓存,共享内存。
+**进程内存:** 以进程维度按内存大小排序,并分解成匿名内存,文件缓存,共享内存。

-**Cache Top:**展示 Cache 占用最多前五个文件和对应的进程。
+**Cache Top:** 展示 Cache 占用最多前五个文件和对应的进程。

##### 5. 离线导入
使用方式同调度抖动诊断。
@@ -812,15 +805,11 @@ IO流量积压、存储设备异常等情况容易造成 IO 请求处理慢,IO
| --- | --- | --- |
| 实例IP | 目标Node节点的IP | 必填 |
| 容器 | 容器ID或者pod名 | 必填,默认填空字符串"" |
-| 诊断类型 | 诊断类型:
-all: 诊断实例上所用容器cache
-host: 诊断实例主机cache
-pod:诊断pod内部cache
-container: 诊断容器内部cache | 必填,默认填"all" |
+| 诊断类型 | 诊断类型:
all: 诊断实例上所用容器cache
host: 诊断实例主机cache
pod:诊断pod内部cache
container: 诊断容器内部cache | 必填,默认填"all" |
##### 4. 在线诊断

-**缓存排序:**对缓存占用最多的几个文件的组成进行分析展示
+**缓存排序:** 对缓存占用最多的几个文件的组成进行分析展示

##### 5. 离线导入
使用方式同调度抖动诊断。
@@ -855,6 +844,7 @@ container: 诊断容器内部cache | 必填,默认填"all" |
1. 进入“日志中心”菜单,下拉菜单中选择点击”审计日志“进入“审计日志”页面。
2. 在“审计日志”界面中,会展示所有接口调用的情况。日志列表简要说明:
+
| 列表名 | 说明 |
| --- | --- |
| 时间 | API接口访问时间 |
@@ -872,6 +862,7 @@ container: 诊断容器内部cache | 必填,默认填"all" |
1. 进入“日志中心”菜单,下拉菜单中选择点击”任务日志“进入“任务日志”页面。
2. 在“任务日志”界面中,会展示诊断任务的情况。日志列表简要说明:
+
| 列表名 | 说明 |
| --- | --- |
| 时间 | API接口访问时间 |
@@ -886,6 +877,7 @@ container: 诊断容器内部cache | 必填,默认填"all" |
1. 进入“日志中心”菜单,下拉菜单中选择点击”告警日志“进入“告警日志”页面。
2. 在“告警日志”界面中,会展示所有告警消息的情况。日志列表简要说明:
+
| 列表名 | 说明 |
| --- | --- |
| 告警时间 | 告警时间 |