全部产品
Search
文档中心

云监控:进程监控

更新时间:Jul 07, 2026

云监控通过安装在阿里云主机(ECS实例)和非阿里云主机上的云监控插件,为您采集最近一段时间内活跃进程的CPU使用率、内存使用率和文件打开数。您还可以添加进程监控,查看其进程数,并为这些进程设置报警规则,及时关注进程数的变化,确保其正常运行。

前提条件

请确保您已为阿里云主机(ECS实例)和非阿里云主机安装云监控插件。具体操作,请参见安装云监控插件

背景信息

云监控每分钟统计一次CPU消耗Top5的进程,记录进程的CPU、内存使用率和打开文件数。

  • 进程的CPU使用率与内存使用率:您可以参考Linux中的top命令理解这两个监控项的含义。

  • 进程的打开文件数:您可以参考Linux中的lsof命令理解这个监控项的含义。

云监控采集CPU消耗Top5进程的CPU使用率,可能存在以下问题:

  • 如果您的进程占用多个CPU,则会出现CPU使用率超过100%的情况,因为采集结果为多核CPU的总使用率。

  • 如果您查询的时间范围内,CPU消耗Top5的进程不固定,进程列表会显示该时间范围内全部进入过Top5的进程,列表中的时间表示该进程最后一次进入Top5的时间。

  • 云监控只采集CPU消耗Top5进程的CPU使用率、内存使用率和打开文件数。如果进程在查询的时间范围内未持续进入Top5,则监控图表中会出现数据点不连续的情况,数据点的密集程度表明了该进程在主机上的活跃程度。示例如下:

    • Wrapper进程未持续进入主机CPU消耗Top5,监控图表中的数据点稀疏,且不连续,表示有数据点的时间该进程进入Top5。wrapper

    • Java进程在监控图表中的数据点非常密集,且连续,表示该进程已持续进入CPU消耗Top5。

为什么进程监控指标数据从特定时间点开始有数据,而非历史全量?

进程监控数据依赖于手动添加的进程监控项,云监控 Agent 仅从您添加监控项的时刻起采集对应进程的指标数据。若未提前添加监控项,则无法获取历史数据,也无法触发历史时段的报警。

添加进程监控

您可以通过监控主机的进程数,采集关键进程的数量,及时获取关键进程的存活状态。

假设您的主机运行了如下进程:

  • /usr/bin/java -Xmx2300m -Xms2300m org.apache.catalina.startup.Bootstrap

  • /usr/bin/ruby

  • nginx -c /etc/nginx/nginx.conf

您添加了6个进程关键字,采集结果如下:

进程关键字

采集进程数

结果

ruby

1

命中进程名称。

nginx

1

命中进程名称与参数。

/usr/bin

2

命中路径(2个进程包含该路径)。

apache.catalina

1

命中部分参数。

nginx.conf

1

命中部分参数。

-c

1

命中部分参数。

说明

进程名匹配严格区分大小写,配置的进程关键字(processName)必须与操作系统中实际运行的进程名完全一致(包括大小写),否则无法匹配进程,导致采集失败或报警不触发。

  1. 登录云监控控制台

  2. 在左侧导航栏,选择云资源监控 > 主机监控

  3. 主机监控列表中,单击目标主机的实例名称链接,或单击目标主机对应操作列的监控图表选择页签进程监控

  4. 在进程监控页面下方,单击进程数监控折叠面板,再单击右上角的添加进程监控

  5. 添加进程监控面板,先输入进程名称,再单击增加,然后单击右上角的image图标。

    说明

    添加进程监控后,请您稍等几分钟,才能看到进程数的监控数据。

为进程设置报警规则

您添加进程后,可以为该进程设置报警规则。当进程数发生变化时,您可以收到报警通知。

  1. 登录云监控控制台

  2. 在左侧导航栏,选择云资源监控 > 主机监控

  3. 主机监控页面,单击目标主机的实例名称链接,或单击目标主机对应操作列的监控图表选择页签进程监控

  4. 先单击进程数监控折叠面板,然后单击右上角的image图标。在 进程数监控 区域,单击进程数图表右上方的告警图标,打开报警规则设置面板。

  5. 设置规则描述面板,先设置规则名称,再设置进程监控指标进程 / 当前进程数的阈值和报警级别,然后单击确定

  6. 创建报警规则面板,先设置报警规则的相关参数,再单击确认

    关于如何设置报警规则中的相关参数,请参见创建报警规则

  7. 查看进程报警规则。

    1. 在左侧导航栏,选择报警服务 - 报警规则

    2. 报警规则页面,您可以查看报警规则进程维度的报警规则。

说明

关于进程总数报警阈值的设置,建议参考以下原则:

  • 系统进程总数受 Linux 内核参数 /proc/sys/kernel/pid_max 限制,建议将阈值设置为 pid_max 的 70%~80%,以预留缓冲空间,避免误报或漏报。

  • 可通过命令 cat /proc/sys/kernel/pid_max 查看当前系统上限。

  • 也可基于业务稳定期的实际进程数(通过云监控历史数据或执行 ps -eLf | wc -l 命令获取),在此基础上增加 20%~30% 作为阈值,避免直接设置为接近 pid_max 的值。

删除进程监控

说明

通过应用分组菜单的组进程监控添加的进程,只能在组进程监控中删除。

  1. 登录云监控控制台

  2. 在左侧导航栏,选择云资源监控 > 主机监控

  3. 主机监控页面,单击目标主机的实例名称链接,或单击目标主机对应操作列的监控图表选择页签进程监控

  4. 先单击进程数监控折叠面板,然后单击右上角的添加进程监控

  5. 添加进程监控面板,单击目标进程对应操作列的删除

  6. 删除确认对话框,单击确定

  7. 单击右上角的关闭图标。

常见问题

云监控是否支持查看单个进程(如 Nginx、Java)的网络带宽/流量占用?

云监控当前不支持查看单个进程的出网带宽或指定时间段(每天/每小时)的下行流量统计。如需以进程视角监控网卡流量,建议在 ECS 实例内部使用 nethogs 等第三方工具实现。

如何监控 Java 线程数?

云监控进程监控仅支持监控进程数量(可通过添加关键字 java 实现),不支持直接监控 Java 线程数。如需监控线程数,建议使用 ARMS 应用监控。