# 查看进程监控
云监控服务在您安装插件后，可以查看系统的进程数据。若您已经添加了自定义进程监控，还可以查看当前进程的CPU使用率、内存使用率、打开文件数的数据。
#### 前提条件
- 请确保主机已安装云监控插件。具体操作请参见[Agent安装说明](https://support.huaweicloud.com/usermanual-ces/ces_01_0029.html)。
- 已添加自定义进程监控，具体操作请参见[添加进程监控](https://support.huaweicloud.com/usermanual-ces/ces_04_0026.html#ces_04_0026)。
 
#### 约束与限制
新版Agent将不支持TOP5进程信息上报，无法开启进程监控开关，推荐使用自定义进程监控功能。确认Agent版本的步骤请参见[确认云监控插件版本](https://support.huaweicloud.com/usermanual-ces/ces_04_0125.html#ces_04_0125__section6822163042916)。
#### 查看进程监控的进程指标
1. 登录[云监控服务管理控制台](https://console.huaweicloud.com/ces/?#/monitor/overview)。
2. 选择"主机监控 \> 进程监控"，进入"进程监控"页面。

3. 单击进程监控任务所在行"监控"列的"![](https://support.huaweicloud.com/usermanual-ces/zh-cn_image_0000002342260466.png)"图标，进入"进程指标查询"页面。
4. 在"进程指标查询"页面，选择"资源实例"、"进程名称"、"进程ID"，可以查看指定进程的CPU使用率、内存使用率、打开文件数的数据曲线图，相关指标说明请参见[表1]。
   "进程指标查询"支持查看"近15分钟"、"近30分钟"、"近1小时"、"近2小时"、"近3小时"、"近12小时"、"近24小时"、"近7天"和"近30天"9个固定时长的监控周期，同时也支持通过"自定义时间段"选择查看近155天内任意时间段的历史监控数据。
   图1进程指标查询   
   ![](https://support.huaweicloud.com/usermanual-ces/zh-cn_image_0000002509925770.png "点击放大") 
 
#### 查看自定义进程监控
1. 登录[云监控服务管理控制台](https://console.huaweicloud.com/ces/?#/monitor/overview)。

2. 根据需要查看的资源进行操作：
   - 查看弹性云服务器的进程监控，选择"主机监控 \> 弹性云服务器"进入主机监控界面；
   
   - 查看裸金属服务器的进程监控，选择"主机监控 \> 裸金属服务器"进入主机监控界面。
    
3. 单击资源所在行的"查看监控指标"，进入"操作系统监控"页面。
4. 单击"操作系统监控"右侧的"进程监控"，进入"进程监控"页面。
5. 在"自定义进程监控"下面，单击进程名称前面的"![](https://support.huaweicloud.com/usermanual-ces/zh-cn_image_0000002376418293.png "点击放大")"图标。
6. 在待查看的进程ID所在行单击"查看监控详情"，进入"进程指标查询"页面，可查看当前进程的CPU使用率、内存使用率、打开文件数的数据曲线图，相关指标说明请参见[表1]。页面左上方提供查看"近15分钟"、"近30分钟"、"近1小时"、"近2小时"、"近3小时"、"近12小时"、"近24小时"、"近7天"和"近30天"9个固定时长的监控周期，同时也支持通过"自定义时间段"选择查看近155天内任意时间段的历史监控数据。
   图2进程指标查询   
   ![](https://support.huaweicloud.com/usermanual-ces/zh-cn_image_0000002541849403.png "点击放大") 
7. 在"自定义进程数"页面，展示了主机上运行的自定义进程数据详情。
    表1进程监控相关指标说明 
   | 指标名称      | 指标含义         | 取值范围      | 采集方式（Linux）                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  | 采集方式（Windows）                                                                                                                                                                                                                                                                                                                      |
   |:---|:---|:---|:---|:---|
   | CPU使用率 | 进程消耗的CPU百分比。 | 0-1\*cpu核心数 | 测量对象：云服务器或裸金属服务器 通过计算/proc/pid/stat的变化得出。                                                                                                                                                                                                                                                                                                                                                                                                                                                                | 测量对象：云服务器或裸金属服务器 通过Windows API GetProcessTimes获取进程CPU使用率。                                                                                                                                                    |
   | 内存使用率   | 进程消耗的内存百分比。   | 0-1         | 测量对象：云服务器或裸金属服务器 计算方式：RSS\*PAGESIZE/MemTotal RSS: 通过获取/proc/pid/statm第二列得到。 PAGESIZE: 通过命令getconf PAGESIZE获取。 MemTotal：通过/proc/meminfo获取。 | 测量对象：云服务器或裸金属服务器 使用Windows API procGlobalMemoryStatusEx获取内存总量，通过GetProcessMemoryInfo获取内存已使用量，计算两者比值得到内存使用率。                                                                                                 |
   | 打开文件数    | 进程消耗的打开文件数。    | ≥ 0         | 测量对象：云服务器或裸金属服务器 通过执行ls -l /proc/pid/fd命令可以查看数量。                                                                                                                                                                                                                                                                                                                                                                                                                                                            | 测量对象：云服务器或裸金属服务器 通过 Windows API NtQuerySystemInformation 获取系统上所有打开的句柄信息，检查每个句柄是否是当前进程打开的文件句柄，得到当前进程的打开文件数。 Windows下部分特殊进程会由于权限等原因无法采集指定进程打开文件数指标。 |
      
   
 
#### 查看系统进程数
云监控服务在您安装插件后，会默认展示系统的进程数据。
1. 登录[云监控服务管理控制台](https://console.huaweicloud.com/ces/?#/monitor/overview)。
2. 根据需要查看的资源进行操作：
   - 查看弹性云服务器的进程监控，选择"主机监控 \> 弹性云服务器"进入主机监控界面；
   
   - 查看裸金属服务器的进程监控，选择"主机监控 \> 裸金属服务器"进入主机监控界面。
    
3. 单击资源所在行的"查看监控指标"，进入"操作系统监控"页面。
4. 单击"操作系统监控"右侧的"进程监控"，进入"进程监控"页面。
   在"系统进程数"页面，展示了主机上运行的进程数据。系统进程查询结果的指标说明如[表2]所示。
   图3系统进程数   
   ![](https://support.huaweicloud.com/usermanual-ces/zh-cn_image_0000002541947715.png "点击放大")
    表2系统进程数查询结果指标说明 
   | 指标名称     | 指标含义                   | 取值范围 | 采集方式（Linux）                                                                                                                                                                                                                                           | 采集方式（Windows）                                                                                                                                                                                                                 |
   |:---|:---|:---|:---|:---|
   | 运行中进程数 | 该指标用于统计测量对象处于运行状态的进程数。  | ≥ 0  | 测量对象：云服务器或裸金属服务器 通过统计 /proc/pid/status 中Status值获取每个进程的状态，进而统计各个状态进程总数。 | 不支持                                                                                                                                                                                                                          |
   | 空闲进程数    | 该指标用于统计测量对象处于空闲状态的进程数。 | ≥ 0  | 测量对象：云服务器或裸金属服务器 通过统计 /proc/pid/status 中Status值获取每个进程的状态，进而统计各个状态进程总数。   | 不支持                                                                                                                                                                                                                            |
   | 僵死进程数   | 该指标用于统计测量对象处于僵死状态的进程数。 | ≥ 0  | 测量对象：云服务器或裸金属服务器 通过统计 /proc/pid/status 中Status值获取每个进程的状态，进而统计各个状态进程总数。     | 不支持                                                                                                                                                                                                                            |
   | 阻塞进程数  | 该指标用于统计测量对象被阻塞的进程数。    | ≥ 0 | 测量对象：云服务器或裸金属服务器 通过统计 /proc/pid/status 中Status值获取每个进程的状态，进而统计各个状态进程总数。  | 不支持                                                                                                                                                                                                                            |
   | 睡眠进程数  | 该指标用于统计测量对象处于睡眠状态的进程数。   | ≥ 0  | 测量对象：云服务器或裸金属服务器 通过统计 /proc/pid/status 中Status值获取每个进程的状态，进而统计各个状态进程总数。  | 不支持                                                                                                                                                                                                                            |
   | 系统进程数  | 该指标用于统计测量对象的总进程数。      | ≥ 0  | 测量对象：云服务器或裸金属服务器 通过统计 /proc/pid/status 中Status值获取每个进程的状态，进而统计各个状态进程总数。     | 测量对象：云服务器或裸金属服务器 通过psapi.dll系统进程状态支持模块得到进程总数。 |
      
   
 
#### 查看进程TOP
云监控服务插件会每分钟统计一次消耗 CPU Top5的进程，Top5的进程不固定，进程列表中会展示出最近24小时内所有消耗CPU Top5的进程。
- 查询进程CPU使用率与内存使用率的命令：top
- 查询当前进程打开文件数命令：lsof或ls /proc/***pid***/fd \|wc -l ，其中pid需要替换为待查询的进程ID。
![](https://support.huaweicloud.com/usermanual-ces/public_sys-resources/note_3.0-zh-cn.png)
- 当某个进程占用多个CPU时，由于采集结果为多个CPU的总使用率，因此会出现CPU使用率超过100%的现象。
- TOP5进程不固定，进程列表中展示的是近24小时内按一分钟统计周期进入过TOP5的进程。
- 只有近24小时内进入过TOP5的进程并开启了监控开关的进程才会采集CPU使用率、内存使用率和打开文件数。如满足上述条件的进程已被关闭时，则不会展示此进程的相关数据。
- 列表中的时间表示该进程创建的时间。
- 客户端浏览器的时间如果和被监控弹性云服务器的时间不一致，可能会出现监控图表无指标数据的情况，请调整本地时间和主机时间保持一致。
 
**查看Top CPU进程数据的操作步骤**
1. 登录[云监控服务管理控制台](https://console.huaweicloud.com/ces/?#/monitor/overview)。
2. 根据需要查看的资源进行操作：
   - 查看弹性云服务器的进程监控，选择"主机监控 \> 弹性云服务器"进入主机监控界面；
   
   - 查看裸金属服务器的进程监控，选择"主机监控 \> 裸金属服务器"进入主机监控界面。
    
3. 单击资源所在行的"查看监控指标"，进入"操作系统监控"页面。
4. 单击"操作系统监控"右侧的"进程监控"，进入"进程监控"页面。
5. 单击"进程TOP"下面的"配置"，进入TOP进程列表。
6. 在TOP进程列表中打开您要开启的进程的"监控开关"，单击确定。 单击进程所在行的"查看监控详情"，进入"进程指标查询"页面，可查看当前进程的CPU 使用率、内存使用率、打开文件数的数据曲线图，相关指标说明请参见[表3]。页面左上方提供查看"近15分钟"、"近30分钟"、"近1小时"、"近2小时"、"近3小时"、"近12小时"、"近24小时"、"近7天"和"近30天"9个固定时长的监控周期，同时也支持通过"自定义时间段"选择查看近一年内任意时间段的历史监控数据。
    表3Top CPU进程相关指标说明 
   | 指标名称      | 指标含义                                                                                                                         | 取值范围      | 采集方式（Linux）                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  | 采集方式（Windows）                                                                                                                                                                                         |
   |:---|:---|:---|:---|:---|
   | CPU使用率 | 进程消耗的CPU百分比。 pHashId是（进程名+进程ID）的md5值。 | 0-1\*cpu核心数 | 测量对象：云服务器或裸金属服务器 通过计算/proc/pid/stat的变化得出。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             | 测量对象：云服务器或裸金属服务器 通过Windows API GetProcessTimes获取进程CPU使用率。                                                    |
   | 内存使用率   | 进程消耗的内存百分比，pHashId是（进程名+进程ID）的md5值。                                                                                           | 0-1         | 测量对象：云服务器或裸金属服务器 计算方式：RSS\*PAGESIZE/MemTotal - RSS: 通过获取/proc/pid/statm第二列得到。  - PAGESIZE: 通过命令getconf PAGESIZE获取。  - MemTotal：通过/proc/meminfo获取。   | 测量对象：云服务器或裸金属服务器 使用Windows API procGlobalMemoryStatusEx获取内存总量，通过GetProcessMemoryInfo获取内存已使用量，计算两者比值得到内存使用率。 |
   | 打开文件数    | 进程消耗的打开文件数。 pHashId是（进程名+进程ID）的md5值。   | ≥ 0         | 测量对象：云服务器或裸金属服务器 通过执行ls -l /proc/pid/fd命令可以查看数量。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         | 暂不支持                                                                                                                                                                                                |
      
   
 
#### 相关文档
当实例中进程数量过多或进程打开文件数过多时会导致Agent任务加重进而导致CPU冲高。您可以通过修改配置文件进行解决，具体操作请参见[修改配置文件调整进程采集频率](https://support.huaweicloud.com/ces_faq/ces_faq_0128.html)或[修改配置文件调整Agent资源消耗阈值](https://support.huaweicloud.com/ces_faq/ces_faq_0127.html)。
