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

如何列出所有项目的VM实例及vCPU、内存?解决gcloud项目为空错误

解决gcloud项目为空错误及获取全项目VM实例资源信息

先解决「项目为空」的错误

错误原因:你的gcloud CLI默认项目未配置(为空),且执行命令时没指定具体项目。

  • 临时指定项目执行命令:在命令后加--project 你的项目ID,比如:
    gcloud compute instances.list --project my-project-xxx
    
  • 永久设置默认项目:执行以下命令(仅适用于常操作单个项目的场景):
    gcloud config set project my-project-xxx
    

获取所有项目的VM实例及vCPU、内存信息

如果你需要遍历所有有权限的项目,推荐用以下两种方法:

方法1:gcloud命令批量遍历(最简便)

执行以下bash脚本,自动遍历所有项目,输出实例的核心信息:

gcloud projects list --format="value(projectId)" | while read project; do
  echo "--- 项目: $project ---"
  gcloud compute instances aggregated-list --project "$project" \
    --format="table(
      name.basename():label=实例名称,
      zone.basename():label=可用区,
      machineType.basename():label=机器类型,
      guestCpus:label=vCPU数量,
      memoryMb:label=内存(MB)
    )"
done

说明:aggregated-list会一次性拉取项目下所有区域的实例,比逐个区域调用list更高效;guestCpus就是vCPU数量,memoryMb是内存大小(单位MB)。

方法2:通过Compute Engine API获取

如果你用代码调用API:

  1. 先调用projects.list接口获取所有项目ID
  2. 对每个项目,调用instances.aggregatedList接口(无需逐个区域调用,直接返回全区域实例)
  3. 从返回的实例对象中,提取guestCpus、memoryMb、name、zone等字段即可

补充:你之前用instances.list方法时,响应体的items数组里每个实例对象都包含guestCpus和memoryMb字段,只是可能你没留意到。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 18:18:50