Menyesuaikan jumlah inti CPU yang terlihat


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:

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
* Nama untuk sebagian besar jenis mesin berisi jumlah vCPU. Namun, untuk jenis mesin yang dioptimalkan akselerator A3 dan A2, nama untuk jenis mesin berisi jumlah GPU yang telah ditetapkan. Guna melihat jumlah vCPU untuk jenis mesin yang dioptimalkan akselerator A3 dan A2, tinjau dokumentasi Kelompok mesin yang dioptimalkan Akselerator.

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 mesin c2-standard-60, jika ditetapkan ke 20, dan jumlah thread per core adalah 2, 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 mesin c2-standard-60, jika ditetapkan ke 20, dan jumlah thread per core adalah 2, 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

  1. 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 mesin c2-standard-60, jika ditetapkan ke 20, dan jumlah thread per core adalah 2, 40 dari 60 CPU akan terlihat.

    • ZONE: zona tempat VM dibuat.

  2. 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 instance

    • INSTANCE_TEMPLATE_NAME: nama template instance tempat membuat VM

REST

  1. 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 mesin c2-standard-60, jika ditetapkan ke 20, dan jumlah thread per core adalah 2, 40 dari 60 CPU akan terlihat.

  2. 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 project

    • ZONE: zona tempat VM dibuat

    • INSTANCE_TEMPLATE_NAME: nama template instance tempat membuat VM

    • VM_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:

  1. Menghentikan VM.

  2. Di Machine configuration > Advanced configurations > Visible core count, pilih jumlah core yang terlihat.

  3. 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.

  1. Ekspor properti VM yang ada ke file dengan menggunakan perintah gcloud compute instances export.

  2. Dalam file yang berisi properti yang diekspor, ubah atau tambahkan nilai untuk hal berikut:

    advancedMachineFeatures:
     visibleCoreCount: VISIBLE_CORE_COUNT
    
  3. 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 project

  • ZONE: zona yang berisi VM.

  • VM_NAME: nama VM yang propertinya akan diekspor

  • VISIBLE_CORE_COUNT: jumlah core CPU yang terlihat

Langkah selanjutnya