You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Argo Workflow CPU限制未在UI生效,如何查看CPU使用量?

问题解决:Argo Workflow CPU限制不生效及Pod实际CPU用量查看方法

一、CPU限制不生效的排查与修复

你的配置里存在两个关键问题导致Argo UI显示异常:

  1. 参数值错误:你想要设置0.5核CPU限制,但配置中cpu-limit的取值是50m(对应0.05核),需修正为500m或0.5才是0.5核的正确表述。
  2. PodSpecPatch格式冲突:模板级的podSpecPatch使用了JSON格式,虽然Argo支持,但YAML格式更易读且不易出现转义问题,建议统一格式。

修复后的完整配置示例:

apiVersion: argoproj.io/v1alpha1
kind: Workflow
metadata:
  generateName: pod-spec-patch-
spec:
  entrypoint: whalesay
  arguments:
    parameters:
      - name: cpu-limit
        value: 500m  # 修正为0.5核对应的取值
      - name: mem-limit
        value: 100Mi
  podSpecPatch: |
    containers:
      - name: main
        resources:
          limits:
            memory: "{{workflow.parameters.mem-limit}}"
  templates:
  - name: whalesay
    podSpecPatch: |
      containers:
        - name: main
          resources:
            limits:
              cpu: "{{workflow.parameters.cpu-limit}}"
    container:
      image: docker/whalesay:latest
      command: [cowsay]
      args: ["hello world"]

二、查看Pod实际CPU用量的方法

1. 使用kubectl top命令(需集群安装Metrics Server)

直接查看Pod及容器的实时CPU使用率:

kubectl top pod <你的Pod名称> --containers

输出会包含容器的CPU使用率(如10m)和内存使用量。

2. 查看Pod资源配置与状态详情

通过describe命令确认设置的CPU限制是否生效,同时查看基础运行指标:

kubectl describe pod <你的Pod名称>

在输出的Containers区块中,Resources字段会显示配置的limits;若集群有 metrics 采集,还能看到实际使用的CPU统计。

3. 查看节点cgroup统计(需节点权限)

先获取容器ID:

kubectl get pod <你的Pod名称> -o jsonpath='{.status.containerStatuses[0].containerID}'

然后登录Pod所在节点,查看cgroup的CPU使用统计:

cat /sys/fs/cgroup/cpu,cpuacct/kubepods/burstable/<容器ID>/cpu.stat

如果使用Docker runtime,也可以用docker stats <容器ID>查看实时CPU占用。

内容的提问来源于stack exchange,提问作者etranz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 11:13:13