L'overcommit della CPU su nodi single-tenant ti consente di pianificare istanze che possono condividere tra loro cicli CPU di riserva. Questo ti permette di eseguire l'overprovisioning delle risorse dei nodi single-tenant e di pianificare più CPU della VM su un nodo single-tenant rispetto a quelle normalmente disponibili. L'overcommit della CPU è particolarmente utile per i workload sottoutilizzati, ma che potrebbero registrare burst relativamente non correlati.
L'overcommit della CPU può aiutarti a ridurre i costi per VM suddividendo il costo di un nodo single-tenant su più VM. Può anche ridurre i costi delle licenze per VM se vengono utilizzate licenze per socket o per core.
Le VM con CPU con overcommit possono usufruire delle risorse CPU altrimenti inutilizzate nei seguenti modi:
Se un nodo single-tenant non è pieno, le VM con overcommit possono utilizzare i core non allocati.
Se una VM su un nodo single-tenant non utilizza tutte le sue risorse della CPU, ad esempio perché la CPU è inattiva, se ne può avvalere una VM con overcommit.
Livello di overcommit
Quando crei o arresti una VM, puoi specificare un valore relativo al numero minimo di CPU allocate a questa. Il livello di overcommit rappresenta il numero minimo di thread della CPU sottostanti garantiti per una VM. Se la VM ha più vCPU rispetto ai thread sottostanti disponibili, le vCPU della VM condividono le risorse di computing sottostanti e vengono eseguite con prestazioni inferiori.
Puoi impostare questo valore per ogni VM, il che ti consente di eseguire il provisioning di VM con diversi rapporti di overcommit della CPU su un singolo nodo single-tenant. Se si verificano burst correlati i valori più bassi riducono i requisiti di capacità a scapito del potenziale delle prestazioni. Per determinare un valore ottimale per il numero minimo di CPU, devi comprendere l'utilizzo del workload e la modifica iterativa del valore.
Quando imposti questo valore, tieni presente quanto segue:
Se non imposti alcun valore relativo al numero minimo di CPU o se lo imposti per un numero minimo di CPU che corrisponde al numero di CPU sul tipo di macchina della VM, il rapporto di overcommit della VM consentito è 1,0. Con un rapporto di overcommit di 1,0, tutte le CPU sono accessibili solo a questa VM e non sono disponibili risorse CPU su cui eseguire l'overcommit per altre VM.
Il numero minimo di CPU non può essere superiore al numero di CPU specificato dal tipo di macchina della VM.
La somma dei valori relativi al numero minimo di CPU per tutte le VM su un nodo single-tenant non può superare la capacità della CPU di quel tipo di nodo single-tenant, che su
n1-node-96-624
è pari a 96.
Il valore del numero di CPU specificato dal tipo di macchina della VM è un valore statico e rappresenta il numero di CPU che una VM può utilizzare a partire dal numero minimo, se queste CPU sono disponibili. Se hai bisogno di un numero di CPU diverso da quello fornito dai tipi di macchine predefinite, puoi utilizzare un tipo di macchina personalizzata.
Considerazioni
Prima di configurare i livelli di overcommit della CPU per le VM, valuta la criticità del workload. I workload meno critici, come quelli di sviluppo e test, possono potenzialmente tollerare livelli di overcommit più elevati. I workload più critici, come un sistema di pagamenti di produzione, potrebbero non tollerare un overcommit eccessivo o addirittura assente.
Prendi in considerazione anche l'utilizzo del workload. I workload con un elevato utilizzo della CPU non sono buoni candidati per l'overcommit della CPU perché non dispongono di cicli di utilizzo di riserva per altre VM con questa funzione. Inoltre, i workload con un utilizzo medio della CPU ridotto, ma con picchi di utilizzo bassi, potrebbero trarre vantaggio dalle differenze nelle dimensioni dei tipi di macchine.
L'utilizzo dell'overcommit della CPU è vantaggioso per i workload intensi non correlati con un picco di utilizzo elevato e un utilizzo medio ridotto, in quanto è più probabile che questi workload abbiano risorse CPU disponibili da condividere tra le VM quando alcune di queste devono eseguire il burst del loro utilizzo. Se tutte le VM su un host devono eseguire il burst contemporaneamente, l'host non avrà risorse sufficienti per quelle VM.
Limitazioni
- Limitazioni dei workload
L'overcommit della CPU è più adatto per i workload senza requisiti di prestazioni rigorosi, ad esempio i workload di sviluppo e test e le infrastrutture desktop virtuali.
Livelli elevati di overcommit della CPU potrebbero non essere appropriati per i workload sensibili alle prestazioni.
Per i workload con un utilizzo medio e di picco costantemente basso, Google consiglia il dimensionamento ottimale. In altre parole, anziché eseguire l'overcommit delle CPU, consigliamo di modificare le dimensioni dell'istanza VM in modo che corrispondano ai requisiti delle risorse del workload.
Se le istanze hanno un overcommit eccessivo, spostale su un altro nodo single-tenant.
- Limitazioni del tipo di macchina
Puoi consentire l'overcommit delle CPU solo sui seguenti elementi:
VM delle serie di macchine N1 per le quali è stato eseguito il provisioning in gruppi di nodi basati sul tipo di nodo
n1-node-96-624
VM delle serie di macchine N2 per le quali è stato eseguito il provisioning in gruppi di nodi basati sui seguenti tipi di nodi:
n2-node-80-640
n2-node-128-864
VM delle serie di macchine N2D per le quali è stato eseguito il provisioning in gruppi di nodi basati sui seguenti tipi di nodi:
n2d-node-224-896
n2d-node-224-1792
- Limitazioni del livello di overcommit
Puoi configurare la CPU minima su ogni nodo single-tenant solo su metà delle CPU della VM, consentendo un rapporto di overcommit massimo del nodo single-tenant pari a 2,0.
- Limitazioni della pianificazione delle VM
I gruppi di nodi single-tenant basati su template di nodi single-tenant non configurati per l'overcommit della CPU non consentono il provisioning di VM con l'overcommit della CPU abilitato. In altre parole, non puoi pianificare una VM con un numero minimo specificato di CPU su un gruppo di nodi single-tenant non configurato per l'overcommit della CPU.
Quota
La quota CPU si basa sul numero di vCPU del tipo di nodo single-tenant, non sul numero massimo potenziale di vCPU disponibili per l'overcommit.
Costi
Ai nodi single-tenant per i quali è selezionato l'overcommit della CPU sul loro template di nodo viene addebitato un ulteriore 25%. Questo addebito si aggiunge a un sovrapprezzo 10% per l'esecuzione di VM su nodi single-tenant. Il sovrapprezzo per l'overcommit della CPU è fisso, indipendentemente dal livello di overcommit e dal numero di VM pianificate sul nodo single-tenant.
I nodi single-tenant offrono sconti per impegno di utilizzo. Gli sconti per impegno di utilizzo possono essere applicati al sovrapprezzo per la single-tenancy e per l'overcommit della CPU.
Per stimare il costo di esecuzione delle VM su nodi single-tenant, consulta il calcolatore prezzi.
Configura VM single-tenant per l'overcommit
Per configurare VM single-tenant in modo che abbiano risorse CPU disponibili per l'overcommit, procedi nel seguente modo:
Crea un template di nodo single-tenant con l'overcommit della CPU abilitato. Devi abilitare l'overcommit della CPU durante la creazione del template di nodo. Non puoi abilitare l'overcommit della CPU dopo aver creato un template di nodo.
Crea un gruppo di nodi single-tenant basato sul template di nodo single-tenant per il quale è abilitato l'overcommit della CPU.
Crea una VM e segui questi passaggi:
Seleziona un tipo di macchina per la VM. Il numero di CPU sul tipo di macchina rappresenta il numero massimo di CPU a cui la VM può arrivare a partire dal numero minimo di CPU se questo è inferiore al numero di CPU specificato dal tipo di macchina.
Puoi scegliere un tipo di macchina diverso per ogni VM su un nodo single-tenant, a condizione che non superi la capacità di CPU e memoria del nodo single-tenant.
Specifica il numero minimo di CPU da allocare alla singola VM o utilizza un gruppo di istanze gestite per creare più VM con lo stesso livello di overcommit della CPU.
Prima di iniziare
-
Crea un template di nodo
single-tenant e specifica
--cpu-overcommit-type=enabled
. - Crea un gruppo di nodi single-tenant basato sul template di nodo single-tenant con overcommit della CPU abilitato.
-
Se non l'hai ancora fatto, configura l'autenticazione.
L'autenticazione è il processo mediante il quale la tua identità viene verificata per l'accesso a servizi e API di Google Cloud .
Per eseguire codice o esempi da un ambiente di sviluppo locale, puoi autenticarti su
Compute Engine selezionando una delle seguenti opzioni:
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
- Set a default region and zone.
Vai alla pagina Nodi single-tenant.
Fai clic su Gruppi di nodi.
Fai clic sul gruppo di nodi single-tenant su cui creare una VM.
Fai clic su Crea istanza.
Specifica il nome, la regione e la zona per la VM.
In Configurazione macchina, scegli un tipo di macchina fissa o personalizzata con almeno 4 vCPU.
In Overcommit della CPU, seleziona Abilita overcommit della CPU.
In Numero minimo di vCPU allocate, regola il cursore o inserisci manualmente il numero di vCPU per specificare il livello di overcommit su questa VM.
Fai clic su Crea per creare un'istanza VM con risorse CPU disponibili per l'overcommit.
VM_NAME
: il nome della VM su cui eseguire l'overcommit delle CPUMACHINE_TYPE
: il tipo di macchina in cui eseguire il provisioning della VM single-tenant. Il numero di CPU specificato dal tipo di macchina rappresenta il numero massimo di CPU che la VM può utilizzare a partire da MIN_VCPUS.MIN_VCPUS
: il numero minimo di vCPU garantite come disponibili per questa VMGROUP_NAME
: il nome del gruppo di nodi single-tenant in cui eseguire il provisioning della VMPROJECT_ID
: l' ID progettoZONE
: la zona per questa richiestaMACHINE_TYPE_ZONE
: la zona che ospita il tipo di macchinaMACHINE_TYPE
: il tipo di macchina in cui eseguire il provisioning della VM single-tenant. Il numero di CPU specificato dal tipo di macchina rappresenta il numero massimo di CPU che la VM può utilizzare a partire daMIN_VCPUS
.VM_NAME
: il nome della VM single-tenant in cui eseguire l'overcommit delle CPUMIN_VCPUS
: il numero minimo di vCPU garantite come disponibili per questa VMGROUP_NAME
: il nome del gruppo di nodi single-tenant in cui eseguire il provisioning della VMPer modificare il livello di overcommit della CPU di una VM in esecuzione, devi prima eseguirne l'arresto. Per interrompere una VM, utilizza il comando
gcloud compute instances stop
come segue:gcloud compute instances stop VM_NAME
Sostituisci
VM_NAME
con il nome dell'istanza che vuoi arrestare.Per aggiornare il livello di overcommit della CPU di una VM single-tenant, utilizza il comando
gcloud compute instances set-scheduling
come segue:gcloud compute instances set-scheduling VM_NAME \ --min-node-cpu=MIN_VCPUS
Sostituisci quanto segue:
VM_NAME
: il nome della VM single-tenant per modificare il livello di overcommit della CPUMIN_VCPUS
: il numero minimo di vCPU garantite come disponibili per questa VM
Per modificare il livello di overcommit della CPU di una VM in esecuzione, devi prima eseguirne l'arresto. Per arrestare una VM, crea una richiesta
POST
utilizzando il metodoinstances.stop
come segue:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/stop
Sostituisci quanto segue:
PROJECT_ID
: l' ID progettoZONE
: la zona per questa richiestaVM_NAME
: il nome della VM single-tenant per modificare il livello di overcommit della CPU
Per aggiornare il livello di overcommit della CPU di una VM single-tenant, utilizza il metodo
instances.setScheduling
come segue:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/setScheduling { "minNodeCpus":MIN_VCPUS }
Sostituisci quanto segue:
PROJECT_ID
: l'ID progettoZONE
: la zona per questa richiestaVM_NAME
: il nome della VM single-tenant per modificare il livello di overcommit della CPUMIN_VCPUS
: il numero minimo di vCPU garantite come disponibili per questa VM
VM_NAME
: il nome della VM single-tenant per disabilitare l'overcommit della CPUPROJECT_ID
: l' ID progettoZONE
: la zona per questa richiestaVM_NAME
: il nome della VM single-tenant per disabilitare l'overcommit della CPUNella console Google Cloud , vai alla pagina Nodi single-tenant.
Fai clic su Gruppi di nodi.
Fai clic sul gruppo di nodi single-tenant contenente il nodo single-tenant con la VM con CPU con overcommit.
Fai clic sul nodo single-tenant che contiene la VM con CPU con overcommit.
Sotto il nome del nodo single-tenant, visualizza Utilizzo CPU, Tipo di overcommit della CPU e Utilizzo CPU minimo.
Utilizzo della CPU mostra il totale del numero massimo di CPU per tutte le VM su questo nodo single-tenant diviso per il numero di CPU specificato dal tipo di nodo single-tenant.
Il numero di CPU sul nodo disponibili per l'overcommit equivale al numeratore meno il denominatore, mentre il livello di overcommit corrisponde al quoziente del numeratore e del denominatore.
Utilizzo CPU minimo mostra la somma del numero minimo di CPU allocate per tutte le VM su un nodo single-tenant divisa per il numero di CPU specificate dal tipo di nodo.
Nella console Google Cloud , vai alla pagina Monitoring.
Fai clic su Esplora metriche.
Nel campo Tipo di risorsa, inserisci Istanza VM.
Nel campo Metrica, inserisci Tempo di attesa dello scheduler.
Facoltativamente, facendo clic su Avvisi, puoi configurare gli avvisi in modo che vengano attivati per le soglie del tempo di attesa della VM.
REST
Per utilizzare gli esempi di API REST in questa pagina in un ambiente di sviluppo locale, utilizzi le credenziali che fornisci a gcloud CLI.
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
Per saperne di più, consulta la sezione Autenticarsi per l'utilizzo di REST nella documentazione sull'autenticazione di Google Cloud .
Imposta il livello di overcommit della CPU
Le procedure riportate di seguito mostrano come creare una VM single-tenant con risorse CPU disponibili per l'overcommit. Se devi modificare il livello di overcommit della CPU di una VM in esecuzione, devi prima eseguirne l'arresto.
Console
Nella console Google Cloud , crea una VM single-tenant su un gruppo di nodi single-tenant basato sul corrispondente template con overcommit della CPU abilitato:
gcloud
L'esempio seguente mostra come utilizzare il comando
gcloud compute instances create
per creare una VM single-tenant su un tipo di macchina predefinito con risorse CPU disponibili per l'overcommit.gcloud compute instances create VM_NAME \ --machine-type=MACHINE_TYPE \ --min-node-cpu=MIN_VCPUS \ --node-group=GROUP_NAME
Sostituisci quanto segue:
Impostazione del livello di overcommit su un tipo di macchina personalizzata
Per creare una VM single-tenant con risorse CPU disponibili per l'overcommit su un tipo di macchina personalizzata, ometti il flag
--machine-type
e utilizza invece i flag--custom-cpu
e--custom-memory
per specificare il numero di CPU e la quantità di memoria, in gigabyte, per la macchina personalizzata.REST
L'esempio seguente mostra come utilizzare il metodo
instances.insert
per creare una VM single-tenant su un tipo di macchina fissa con risorse CPU disponibili per l'overcommit.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances { "machineType": "zones/MACHINE_TYPE_ZONE/machineTypes/MACHINE_TYPE", "name": "VM_NAME", "scheduling": { "minNodeCpus": MIN_VCPUS, "nodeAffinities": [ { "key": "compute.googleapis.com/node-group-name", "operator": "IN", "values": [ "GROUP_NAME" ] } ] }, ... }
Sostituisci quanto segue:
Impostazione del livello di overcommit su un tipo di macchina personalizzata
Per creare una VM single-tenant con risorse CPU disponibili per l'overcommit su un tipo di macchina personalizzata, sostituisci il valore del campo
machineType
conzones/zone/machineTypes/custom-CPUS-MEMORY
,CPUS
con il numero di CPU eMEMORY
con la quantità di memoria, in megabyte, per il tipo di macchina personalizzata.Aggiorna il livello di overcommit della CPU
Le procedure riportate di seguito mostrano come aggiornare il livello di overcommit della CPU di una VM single-tenant.
gcloud
REST
Disabilita l'overcommit della CPU per le VM single-tenant
Le procedure riportate di seguito mostrano come disabilitare l'overcommit della CPU di una VM single-tenant.
gcloud
L'esempio seguente mostra come utilizzare il comando
gcloud compute instances set-scheduling
per disattivare l'overcommit della CPU di una VM single-tenant.gcloud compute instances set-scheduling VM_NAME \ --clear-min-node-cpu
Sostituisci quanto segue:
REST
L'esempio seguente mostra come utilizzare il comando
instances.setScheduling
per disabilitare l'overcommit della CPU di una VM single-tenant.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/setScheduling { "minNodeCpus":null }
Sostituisci quanto segue:
Visualizza l'utilizzo della CPU
Per controllare l'utilizzo della CPU delle VM single-tenant in un gruppo di nodi single-tenant, segui questi passaggi:
Ottimizza i livelli di overcommit della CPU
Per ottimizzare la regolazione dei livelli di overcommit della CPU, Compute Engine fornisce la metrica Tempi di attesa dello scheduler. La metrica Tempi di attesa dello scheduler indica il tempo di attesa aggregato per tutte le vCPU sulla VM e ti aiuta a determinare l'impatto dell'overcommit della CPU sulle prestazioni della VM.
La sensibilità del workload varia, ma come regola generale si consiglia di utilizzare 20 millisecondi di tempo di attesa dello scheduler accumulati al secondo (20 msps) come tempo di attesa massimo per ogni vCPU. Ad esempio, se una VM è impostata su 8 vCPU, la soglia generale corrisponde a 160 msps, il che si traduce in un tempo di attesa dello scheduler medio accettabile di 20 msps per vCPU. I requisiti di prestazioni del workload determinano in ultima analisi le soglie accettabili.
Passaggi successivi
Salvo quando diversamente specificato, i contenuti di questa pagina sono concessi in base alla licenza Creative Commons Attribution 4.0, mentre gli esempi di codice sono concessi in base alla licenza Apache 2.0. Per ulteriori dettagli, consulta le norme del sito di Google Developers. Java è un marchio registrato di Oracle e/o delle sue consociate.
Ultimo aggiornamento 2025-07-15 UTC.
-