Parkir ESXi dan Windows Server CPU

10

Bagi mereka yang tidak tahu, CPU parking adalah fitur dalam rilis Windows Server baru-baru ini yang memungkinkan Windows untuk menjatuhkan inti CPU ke nol, dan tidak ada yang menggunakannya. Ini telah diperkenalkan sebagai langkah hemat daya. Ada lebih banyak detail di sini , di antara tempat-tempat lain.

Namun yang saya ingin tahu adalah apakah masalah ini pada tamu yang divirtualisasi - atau apakah CPU parkir lebih merupakan penghalang daripada bantuan, mengingat bahwa CPU fisik dikelola oleh ESXi, bukan Windows, dan bahwa CPU yang diparkir lebih kecil kemungkinannya untuk berurusan dengan lalu lintas kecuali jika penjadwal menganggap ada cukup banyak pekerjaan untuk melepas CPU?

Saya belum menemukan apa pun tentang ini - saya curiga ini akan sangat didasarkan pada beban kerja yang diberikan, tetapi saya belum melihat diskusi apa pun (tidak seperti, katakanlah, apakah hyper-threading memiliki efek, yang tampaknya dibahas secara berkala ). Sementara saya mengerti "tes dengan beban kerja Anda", saya bertanya-tanya apakah ada saran / pedoman di luar sana yang saya lewatkan.

Chris J
sumber
1
Saya ragu seorang VM dapat memberitahu core fisik untuk pergi tidur. Jika ini bisa dilakukan itu akan dilakukan oleh independen hypervisor dari VM.
LatinSuD
Tepat - itu sebabnya saya mengajukan pertanyaan, saya tidak bisa melihat titik parkir di VM jadi haruskah parkir dinonaktifkan?
Chris J
Apa versi ESXi? Apa penggunaan CPU, baik pada mesin pengembang Anda yang Anda sebutkan di salah satu komentar dan di VM? Model CPU apa yang digunakan di mesin pengembang Anda dan di host ESXi Anda? Saya tidak tahu apakah informasi ini akan membantu tetapi mungkin.
Mario Lenz

Jawaban:

11

Cobalah untuk mengukur VM Anda dengan benar .

Jika Anda memiliki cukup CPU virtual yang cukup untuk khawatir tentang "parkir CPU", Anda mungkin telah mengalokasikan terlalu banyak untuk VM.

Ini bukan permintaan umum, jadi saya hanya mengandalkan alat manajemen sumber daya tradisional kecuali jika Anda saat ini mengalami masalah kinerja.

Edit:

Anda sedang mengalami masalah kinerja.

  • Pastikan Anda telah menginstal alat VMware.
  • Atur Opsi Daya Windows VM Anda ke Kinerja Tinggi

masukkan deskripsi gambar di sini

putih
sumber
2
Ini adalah sesuatu yang kami lihat di rig di bawah beban CPU yang cukup berat - aplikasi multi-utas tampaknya tidak menggunakan semua vCPU, dengan manajer sumber daya menandai pasangan sebagai "parkir" (meskipun ada lebih dari cukup utas antri untuk menjalankan). Ini adalah pertama kalinya kami harus merenungkan apakah parkir dan VM benar-benar merupakan masalah: pengembang pada mesinnya (fisik) melihat kode yang sama menggunakan semua core (lebih banyak core daripada yang ada pada VM). Kami sedikit menggaruk-garuk kepala kami dan hanya ingin menjelajahi aspek khusus ini.
Chris J
@ ChrisJ Lihat hasil edit saya di atas.
ewwhite
Ini tampaknya telah melakukan trik pada test bed kami: beban sekarang sedang tersebar di semua vCPU (menurut Windows), dan bukannya 2 utas bersamaan kami punya 4 utas bersamaan. Kami akan berjalan di rig besar (mudah-mudahan) hari ini sehingga akan mengonfirmasi kemudian.
Chris J
1
Pastikan untuk menambahkannya ke kebijakan grup server windows Anda. Itu sebabnya saya tidak pernah menyentuhnya secara manual lagi.
ewwhite
Saran yang bagus - ta.
Chris J
4

Itu tidak masalah. Jika Anda ingin menghemat daya, alokasikan lebih sedikit core ke tamu VM. Windows akan mencoba mengelola core "virtual" -nya, tetapi tidak memiliki kendali atas hypervisor sehingga tidak akan mempengaruhi CPU fisik aktual pada sistem.

Nathan C
sumber
Bagi saya ini bukan masalah penghematan daya karena host ini dikosongkan, jadi ini ESXi yang perlu saya perhatikan. Itu lebih aobut apakah itu mempengaruhi / mengganggu scheduler hypervisor itu sendiri, karena pada akhirnya waktu CPU fisik diaktifkan oleh itu, dan bukan oleh Windows scheduler. Perasaan saya sendiri adalah bahwa parkir mungkin harus dinonaktifkan, sehingga penjadwal Windows tidak harus "memarkir" CPU yang sebenarnya tidak ada, dan ini mungkin lebih baik menggunakan CPU fisik yang mendasarinya dengan memungkinkan ESX mengalokasikan waktu demikian. Saya hanya ingin tahu apakah usus saya benar :-)
Chris J
Itu tidak akan mempengaruhi penjadwal. Dalam kondisi terbatas, ESXi mungkin "mencuri" waktu CPU yang tidak terpakai dari tamu Anda, tetapi jika tidak, inti akan tetap diam kecuali jika tamu lain juga menggunakannya.
Nathan C
@ ChrisJ Tidak perlu menonaktifkan. Jangan mencoba mengakali VMware :)
ewwhite
Saya tidak mencoba mengakali VMWare, saya mencoba menebak Windows (sepertinya tidak menjadwalkan aplikasi di semua vCPU) :-) Saya tidak berpikir kita perlu melakukan hutang, sebagian besar karena kurangnya informasi tentang itu secara online (menyiratkan sebagian besar / semua orang membiarkannya apa adanya), tetapi hanya ingin menjelajahi aspek ini.
Chris J
@ ChrisJ Saya tidak berpikir orang menyentuh pengaturan ini secara langsung. Ini biasanya merupakan bagian dari kebijakan daya sistem.
ewwhite