View the number of visible CPU cores

Linux Windows

This document describes how to view the number of visible CPU cores for a virtual machine (VM) instance.

When you view the details of a VM, you can verify if the VM has the default number of visible CPU cores, or if this number has been customized. Reducing the number of visible CPU cores for a VM can help reduce licensing costs without reducing Persistent Disk performance limits. However, reducing the number of visible CPU cores might affect network performance.

Before you begin

  • If you haven't already, set up authentication. Authentication verifies your identity for access to Google Cloud services and APIs. To run code or samples from a local development environment, you can authenticate to Compute Engine by selecting one of the following options:

    Select the tab for how you plan to use the samples on this page:

Required roles

To get the permission that you need to view the details of a VM, ask your administrator to grant you the Compute Instance Admin (v1) (roles/compute.instanceAdmin.v1) IAM role on the VM or project. For more information about granting roles, see Manage access to projects, folders, and organizations.

This predefined role contains the compute.instances.get permission, which is required to view the details of a VM.

You might also be able to get this permission with custom roles or other predefined roles.

To determine if the number of visible CPU cores was customized for a VM, select one of the following options:

Console

  1. In the Google Cloud console, go to the VM instances page.

    Go to VM instances

  2. In the Name column, click the name of the VM.

    The details page of the VM opens and the Details tab is selected.

  3. In the Machine configuration section, check the value for Custom visible cores. If there is no value displayed, then the VM has the default number of visible CPU cores.

gcloud

To view the details of the VM, use the gcloud compute instances describe command.

gcloud compute instances describe VM_NAME \
    --zone=ZONE

Replace the following:

  • VM_NAME: the name of the VM.

  • ZONE: the zone where the VM is located.

If the number of visible CPU cores for the VM was customized, then the output contains the visibleCoreCount field as follows:

advancedMachineFeatures:
  visibleCoreCount: VISIBLE_CORE_COUNT
...

If the output doesn't contain the visibleCoreCount field, then the VM has the default number of visible CPU cores.

REST

To view the details of the VM, make a GET request to the instances.get method.

GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME

Replace the following:

  • PROJECT_ID: the ID of the project where the VM is located.

  • ZONE: the zone where the VM is located.

  • VM_NAME: the name of the VM.

If the number of visible CPU cores for the VM was customized, then the output contains the visibleCoreCount field as follows:

{
  ...
  "advancedMachineFeatures": {
    visibleCoreCount: VISIBLE_CORE_COUNT
  },
  ...
}

If the output doesn't contain the visibleCoreCount field, then the VM has the default number of visible CPU cores.

What's next

Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.

Last updated 2026-02-23 UTC.