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
) di project.
Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses.
Peran yang telah ditentukan ini berisi izin yang diperlukan untuk menyesuaikan jumlah core CPU yang terlihat. Untuk melihat izin yang benar-benar diperlukan, perluas 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
di snapshot - Untuk menggunakan template instance untuk membuat VM:
compute.instanceTemplates.useReadOnly
pada template instance - Untuk menetapkan jaringan lama ke VM:
compute.networks.use
di project - Untuk menentukan alamat IP statis untuk VM:
compute.addresses.use
di project - Untuk menetapkan alamat IP eksternal ke VM saat menggunakan jaringan lama:
compute.networks.useExternalIp
di project - Untuk menentukan subnet VM:
compute.subnetworks.use
di project atau 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
di project - Untuk menetapkan tag untuk VM:
compute.instances.setTags
di VM - Untuk menetapkan label VM:
compute.instances.setLabels
di VM - Untuk menetapkan akun layanan agar VM dapat menggunakan:
compute.instances.setServiceAccount
di VM - Untuk membuat disk baru bagi VM:
compute.disks.create
di project - Untuk memasang disk yang ada dalam mode hanya baca atau baca-tulis:
compute.disks.use
di disk - Untuk memasang disk yang ada dalam mode hanya baca:
compute.disks.useReadOnly
pada disk
-
Untuk menyesuaikan jumlah core CPU yang terlihat pada grup VM dengan menggunakan template instance: Anda memerlukan semua izin yang akan digunakan selama pembuatan VM dan
compute.instanceTemplates.create
pada project
Anda mung juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaanlainnya.
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 inti adalah 2, tetapi Anda dapat menetapkan jumlah thread per inti 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 inti 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 meningkatkan skala 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 yang mendukung penyesuaian jumlah core CPU yang terlihat. Nilai untuk jumlah inti 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 | ||
C3D | ≤ 180 | Any |
C3D | 360 | Kelipatan 2 |
C3 | 4, 8, 22, 44 | Kelipatan 1 |
C3 | 88 | Kelipatan 2 |
C3 | 176 | Kelipatan 4 |
E2 | ≤ 32 | Any |
N2 | ≤ 32 | Any |
N2 | > 32 | Kelipatan 2 |
N2D | ≤ 24 | Any |
N2D | > 24 | Kelipatan 2 |
N4 | ≤ 80 | Any |
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 | Any |
A2 | 96 | Kelipatan 2 |
G2 | ≤ 48 | Any |
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 Machine configuration > Advanced configurations > Visible core count, 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 Machine configuration > Advanced configurations > Visible core count, 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 Machine configuration > Advanced configurations > Visible core count, 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 selanjutnya
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.