Menyesuaikan jumlah core CPU yang terlihat dapat memberikan kontrol terperinci atas biaya lisensi, sekaligus mempertahankan performa jaringan dan persistent disk. Penyesuaian ini mengurangi jumlah vCPU yang tersedia untuk instance virtual machine (VM); itu tidak mengubah jenis atau harga mesin.
Compute Engine mengimplementasikan setiap CPU virtual (vCPU) sebagai satu hardware multithread yang berjalan pada core CPU fisik. Untuk mengurangi jumlah vCPU yang tersedia untuk VM, Anda dapat menggunakan Compute Engine untuk menyesuaikan jumlah core CPU yang terlihat.
Core yang terlihat adalah core CPU di hardware yang mendasarinya yang digunakan VM Anda. Secara default, jumlah core CPU yang terlihat oleh VM adalah jumlah vCPU pada jenis mesin dibagi dengan jumlah thread per core:
- Core CPU yang terlihat = vCPU pada jenis mesin / thread per core
Misalnya, jenis mesin c2-standard-60
menentukan 60 vCPU. Dengan asumsi
default 2 thread per core, jumlah core CPU yang terlihat adalah 30. Jika Anda mengurangi jumlah core yang terlihat dari 30 menjadi 20, jumlah vCPU fungsional
akan dikurangi dari 60 menjadi 40.
Pertimbangkan untuk menyesuaikan jumlah core CPU yang terlihat jika kedua hal berikut berlaku:
Anda menjalankan software, seperti Windows Server atau SQL Server, yang dilisensikan berdasarkan jumlah vCPU yang tersedia.
Anda menggunakan jenis mesin yang telah ditetapkan, yang tidak memungkinkan Anda mengubah jumlah vCPU atau jumlah RAM.
Sebelum menyesuaikan jumlah vCPU yang tersedia untuk VM, pertimbangkan terlebih dahulu untuk menggunakan jenis mesin kustom.
Peran yang diperlukan
Untuk mendapatkan izin yang diperlukan guna menyesuaikan jumlah core CPU yang terlihat,
minta administrator untuk memberi Anda
peran IAM Compute Instance Admin (v1) (roles/compute.instanceAdmin.v1
) pada project.
Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.
Peran bawaan ini berisi izin yang diperlukan untuk menyesuaikan jumlah core CPU yang terlihat. Untuk melihat izin yang benar-benar diperlukan, luaskan bagian Izin yang diperlukan:
Izin yang diperlukan
Izin berikut diperlukan untuk menyesuaikan jumlah core CPU yang terlihat:
-
Untuk menyesuaikan jumlah core CPU yang terlihat selama pembuatan VM:
compute.instances.create
pada project- Untuk menggunakan image kustom guna membuat VM:
compute.images.useReadOnly
pada image - Untuk menggunakan snapshot guna membuat VM:
compute.snapshots.useReadOnly
pada snapshot - Untuk menggunakan template instance guna membuat VM:
compute.instanceTemplates.useReadOnly
di template instance - Untuk menetapkan jaringan lama ke VM:
compute.networks.use
di project - Untuk menentukan alamat IP statis untuk VM:
compute.addresses.use
pada project - Untuk menetapkan alamat IP eksternal ke VM saat menggunakan jaringan lama:
compute.networks.useExternalIp
di project - Untuk menentukan subnet bagi VM:
compute.subnetworks.use
di project atau di subnet yang dipilih - Untuk menetapkan alamat IP eksternal ke VM saat menggunakan jaringan VPC:
compute.subnetworks.useExternalIp
di project atau di subnet yang dipilih - Untuk menetapkan metadata instance VM untuk VM:
compute.instances.setMetadata
pada project - Untuk menetapkan tag untuk VM:
compute.instances.setTags
di VM - Untuk menetapkan label untuk VM:
compute.instances.setLabels
di VM - Untuk menetapkan akun layanan yang akan digunakan VM:
compute.instances.setServiceAccount
di VM - Untuk membuat disk baru bagi VM:
compute.disks.create
pada project - Untuk memasang disk yang ada dalam mode hanya baca atau baca-tulis:
compute.disks.use
pada disk - Untuk memasang disk yang ada dalam mode hanya baca:
compute.disks.useReadOnly
pada disk
-
Untuk menyesuaikan jumlah core CPU yang terlihat di grup VM menggunakan template instance:
Anda memerlukan semua izin yang akan digunakan selama pembuatan VM dan
compute.instanceTemplates.create
di project
Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lainnya.
vCPU dan jumlah thread per core
Total vCPU pada jenis mesin adalah jumlah core CPU yang terlihat dikalikan dengan jumlah thread per core. Untuk sebagian besar seri mesin, jumlah thread per core adalah 2, tetapi Anda dapat menetapkan jumlah thread per core secara manual menjadi 1.
Tabel berikut menunjukkan bagaimana core CPU yang terlihat, jumlah thread per core, dan total vCPU yang tersedia saling terkait menggunakan jenis mesin c2-standard-60
sebagai contoh.
Machine type | Core CPU yang terlihat | Thread per core | vCPU yang tersedia |
---|---|---|---|
c2-standard-60 |
30 (default) |
2 (default) |
60 |
c2-standard-60 |
30 (default) |
1 |
30 |
c2-standard-60 |
20 |
2 (default) |
40 |
c2-standard-60 |
20 |
1 |
20 |
Pertimbangan performa
Mengurangi jumlah core yang terlihat dapat memengaruhi performa VM Anda.
Persistent disk
- Batas performa persistent disk bergantung pada jenis mesin dan tidak terpengaruh oleh jumlah core CPU yang terlihat. Untuk mengetahui informasi selengkapnya, lihat Performa block storage.
Jaringan traffic keluar
- Batas bandwidth jaringan traffic keluar cocok dengan jenis mesin dan tidak
terpengaruh oleh jumlah core CPU yang terlihat. Namun, performa jaringan bervariasi, bergantung pada jumlah vCPU yang dapat diakses oleh VM. Misalnya, jenis mesin
n2-standard-16
dengan satu core CPU yang terlihat mungkin tidak dapat sepenuhnya menggunakan koneksi 32 Gbps.
Harga
Mengurangi jumlah core yang terlihat dapat memengaruhi biaya VM Anda.
Biaya lisensi sistem operasi
- Anda dapat menurunkan biaya lisensi untuk beberapa sistem operasi dengan mengurangi jumlah core CPU yang terlihat. Sistem operasi yang berlaku adalah sistem yang mengenakan biaya untuk setiap vCPU yang tersedia untuk VM, misalnya, Windows Server dan SQL Server. Untuk mengetahui informasi selengkapnya tentang opsi pemberian lisensi untuk sistem operasi ini di Compute Engine, lihat lisensi Microsoft.
Biaya, kuota, dan kapasitas VM
- Biaya, kuota, dan kapasitas VM tetap sama saat Anda menyesuaikan jumlah core CPU yang terlihat karena Compute Engine mengenakan biaya, melacak kuota, dan mengalokasikan ruang pada jenis mesin untuk VM seolah-olah mereka menggunakan jumlah core CPU jenis mesin tersebut. Untuk mengetahui informasi lebih lanjut tentang cara Compute Engine menagih VM, lihat Harga instance VM.
Batasan
Anda tidak dapat menyesuaikan jumlah core CPU yang terlihat saat VM dalam status
RUNNING
. Untuk mengetahui informasi selengkapnya tentang status VM, lihat Siklus proses instance VM.Di konsol Google Cloud, saat jumlah core yang terlihat dikurangi, metrik penggunaan CPU tidak dapat ditingkatkan skalanya hingga 100%. Batas ini terbatas pada jumlah core CPU yang terlihat dibagi dengan jumlah maksimum core CPU.
Jenis mesin yang didukung dan nilai yang valid untuk setiap jenis
Banyak jenis mesin mendukung penyesuaian jumlah core CPU yang terlihat. Nilai untuk jumlah core CPU yang terlihat harus berupa bilangan bulat. Nilai maksimumnya adalah jumlah vCPU—atau GPU untuk jenis mesin yang dioptimalkan akselerator—pada jenis mesin dibagi dengan jumlah thread per core untuk VM tersebut.
Tabel berikut menunjukkan jenis mesin yang mendukung penyesuaian ini, beserta nilai yang valid yang sesuai untuk core CPU yang terlihat untuk jenis mesin dalam kelompok tersebut.
Kelompok jenis mesin | Jumlah vCPU yang telah ditetapkan* | Nilai yang valid untuk core CPU yang terlihat |
---|---|---|
Tujuan umum | ||
C4 | 4, 8, 16, 32, 48 | Semua |
C4 | 96 | Kelipatan 2 |
C4 | 192 | Kelipatan 4 |
C3D | ≤ 180 | Any |
C3D | 360 | Kelipatan 2 |
C3 | 4, 8, 22, 44 | Kelipatan 1 |
C3 | 88 | Kelipatan 2 |
C3 | 176 | Kelipatan 4 |
c3-*-metal |
192 | Tidak didukung |
E2 | ≤ 32 | Any |
N2 | ≤ 32 | Any |
N2 | > 32 | Kelipatan 2 |
N2D | ≤ 24 | Any |
N2D | > 24 | Kelipatan 2 |
N4 | ≤ 80 | Semua |
N1 | ≤ 64 | Any |
N1 | > 64 | Kelipatan 2 |
N1 (TPU dioptimalkan) | 48 | Any |
N1 (TPU dioptimalkan) | 96 | Kelipatan 2 |
Dioptimalkan untuk penyimpanan | ||
Z3 | 88 | Kelipatan 2 |
Z3 | 176 | Kelipatan 4 |
Dioptimalkan untuk komputasi | ||
H3 | 88 | Kelipatan 4 |
C2 | 4, 8, 16, 30 | Any |
C2 | 60 | Kelipatan 2 |
Dioptimalkan untuk memori | ||
M3 | 128 | Kelipatan 2 |
M3 | 32, 64 | Any |
M2 | 208 | Kelipatan 4 |
M2 | 416 | Kelipatan 8 |
M1 | 40 | Any |
M1 | 80, 96 | Kelipatan 2 |
M1 | 160 | Kelipatan 4 |
Dioptimalkan akselerator | ||
A3 | 208 | Kelipatan 2 |
A2 | ≤ 48 | Semua |
A2 | 96 | Kelipatan 2 |
G2 | ≤ 48 | Semua |
G2 | 96 | Kelipatan 2 |
Menyesuaikan jumlah core CPU yang terlihat selama pembuatan VM
Untuk menyesuaikan jumlah core CPU yang terlihat saat membuat satu VM, gunakan Google Cloud Console, gcloud CLI, atau Compute Engine API.
Contoh berikut menunjukkan cara membuat VM SQL Server dengan pengurangan jumlah core CPU yang terlihat.
Konsol
Untuk menyesuaikan jumlah core CPU yang terlihat saat membuat VM, lakukan hal berikut:
- Di Konfigurasi mesin > Konfigurasi lanjutan > Jumlah core yang terlihat, pilih jumlah core yang terlihat.
gcloud
Untuk membuat VM SQL Server dengan jumlah core CPU yang terlihat yang dikurangi, gunakan
perintah gcloud compute instances create
berikut:
gcloud compute instances create VM_NAME \ --image-project=windows-sql-cloud \ --image-family=sql-ent-2019-win-2019 \ --machine-type=MACHINE_TYPE \ --visible-core-count=VISIBLE_CORE_COUNT \ --zone=ZONE
Ganti kode berikut:
VM_NAME
: nama VM.MACHINE_TYPE
: jenis mesin yang didukung, misalnya,c2-standard-60
.VISIBLE_CORE_COUNT
: jumlah core CPU yang terlihat. Misalnya, saat menggunakan jenis mesinc2-standard-60
, jika ditetapkan ke20
, dan jumlah thread per core adalah2
, 40 dari 60 CPU akan terlihat.ZONE
: zona tempat VM dibuat.
REST
Untuk membuat VM SQL Server dengan jumlah core CPU yang terlihat yang dikurangi, gunakan
perintah instances.insert
berikut:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances { "name": "VM_NAME", ... "advanced_machine_features": { ... "visibleCoreCount": "VISIBLE_CORE_COUNT" }, ... }
Ganti kode berikut:
PROJECT_ID
: ID project.ZONE
: zona tempat untuk membuat VM.VM_NAME
: nama VM.VISIBLE_CORE_COUNT
: jumlah core CPU yang terlihat. Misalnya, saat menggunakan jenis mesinc2-standard-60
, jika ditetapkan ke20
, dan jumlah thread per core adalah2
, 40 dari 60 CPU akan terlihat.
Sesuaikan jumlah core CPU yang terlihat di grup VM dengan menggunakan template instance
Untuk menyesuaikan jumlah core CPU yang terlihat saat membuat VM menggunakan template instance, gunakan Google Cloud Console, gcloud CLI, atau Compute Engine API.
Contoh berikut menunjukkan cara membuat grup VM SQL Server yang identik dengan jumlah core CPU yang terlihat yang dikurangi dengan menggunakan template instance.
Konsol
Untuk menyesuaikan jumlah core CPU yang terlihat saat membuat template instance, lakukan hal berikut:
- Di Konfigurasi mesin > Konfigurasi lanjutan > Jumlah core yang terlihat, pilih jumlah core yang terlihat.
gcloud
Buat template instance untuk VM SQL Server, masing-masing dengan jumlah core CPU yang terlihat, yang dikurangi dengan menggunakan perintah
gcloud compute instance-templates create
berikut:gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \ --image-project=windows-sql-cloud \ --image-family=sql-ent-2019-win-2019 \ --machine-type=MACHINE_TYPE \ --visible-core-count=VISIBLE_CORE_COUNT \ --zone=ZONE
Ganti kode berikut:
INSTANCE_TEMPLATE_NAME
: nama template instance.MACHINE_TYPE
: jenis mesin yang didukung, misalnya,c2-standard-60
.VISIBLE_CORE_COUNT
: jumlah core CPU yang terlihat. Misalnya, saat menggunakan jenis mesinc2-standard-60
, jika ditetapkan ke20
, dan jumlah thread per core adalah2
, 40 dari 60 CPU akan terlihat.ZONE
: zona tempat VM dibuat.
Buat VM SQL Server, masing-masing dengan jumlah core CPU yang terlihat yang dikurangi, menggunakan perintah
gcloud compute instances create
berikut:gcloud compute instances create INSTANCE_NAMES \ --source-instance-template=INSTANCE_TEMPLATE_NAME
Ganti kode berikut:
INSTANCE_NAMES
: nama VM, yang dipisahkan dengan spasi, untuk dibuat dari template instanceINSTANCE_TEMPLATE_NAME
: nama template instance tempat membuat VM
REST
Buat template instance untuk VM SQL Server, masing-masing dengan jumlah core CPU yang terlihat yang dikurangi, menggunakan metode
instanceTemplates.insert
berikut:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/instanceTemplates { "name": "INSTANCE_TEMPLATE_NAME", ... "advanced_machine_features": { ... "visible_core_count": "VISIBLE_CORE_COUNT" }, ... }
Ganti kode berikut:
PROJECT_ID
: ID project.INSTANCE_TEMPLATE_NAME
: nama template instance.VISIBLE_CORE_COUNT
: jumlah core CPU yang terlihat. Misalnya, saat menggunakan jenis mesinc2-standard-60
, jika ditetapkan ke20
, dan jumlah thread per core adalah2
, 40 dari 60 CPU akan terlihat.
Buat VM SQL Server, masing-masing dengan jumlah core CPU yang terlihat yang dikurangi, menggunakan metode
instances.insert
berikut:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances?sourceInstanceTemplate=INSTANCE_TEMPLATE_NAME { "name": "VM_NAME", ... }
Ganti kode berikut:
PROJECT_ID
: ID projectZONE
: zona tempat VM dibuatINSTANCE_TEMPLATE_NAME
: nama template instance tempat membuat VMVM_NAME
: nama VM yang akan dibuat dari template instance
Menyesuaikan jumlah inti CPU yang terlihat
Untuk menyesuaikan jumlah core CPU yang terlihat pada VM yang ada, gunakan Google Cloud Console, gcloud CLI, atau Compute Engine API.
Jika Anda menyesuaikan jumlah core CPU yang terlihat di grup VM dengan menggunakan template instance, Anda harus membuat template instance baru, lalu membuat VM baru dari template instance tersebut. Untuk mengetahui informasi selengkapnya tentang template instance, lihat Template instance.
Konsol
Untuk menyesuaikan jumlah core CPU yang terlihat pada VM yang ada, lakukan hal berikut:
Menghentikan VM.
Di Konfigurasi mesin > Konfigurasi lanjutan > Jumlah core yang terlihat, pilih jumlah core yang terlihat.
Mulai ulang VM.
gcloud
Guna memperbarui nilai untuk jumlah core CPU yang terlihat pada VM yang ada, gunakan langkah-langkah berikut. Untuk mengetahui informasi selengkapnya, baca Memperbarui properti instance.
Ekspor properti VM yang ada ke file dengan menggunakan perintah
gcloud compute instances export
.Dalam file yang berisi properti yang diekspor, ubah atau tambahkan nilai untuk hal berikut:
advancedMachineFeatures: visibleCoreCount: VISIBLE_CORE_COUNT
Perbarui properti VM menggunakan perintah
gcloud compute instances update-from-file
dengan--most-disruptive-allowed-action=RESTART
.
REST
Untuk mengupdate jumlah core CPU yang terlihat pada VM, gunakan
metode instances.update
berikut:
PUT https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME?most_disruptive_allowed_action=RESTART { ... "advanced_machine_features": { ... "visible_core_count": "VISIBLE_CORE_COUNT" }, ... }
Ganti kode berikut:
PROJECT_ID
: ID projectZONE
: zona yang berisi VM.VM_NAME
: nama VM yang propertinya akan dieksporVISIBLE_CORE_COUNT
: jumlah core CPU yang terlihat
Langkah berikutnya
Pelajari cara melihat jumlah core CPU yang terlihat.
Pelajari cara menetapkan jumlah thread per core.
Pelajari sistem operasi yang dapat Anda jalankan di VM Compute Engine.