CPU Ready: Pembunuh Hypervisor Sunyi

CPU Ready adalah sesuatu yang mungkin tidak Anda kenal. Pada kesan pertama, mungkin terdengar seperti hal yang baik tetapi sayangnya tidak. CPU Ready telah mengganggu lingkungan virtual lebih lama dari yang kita tahu. VMware mendefinisikan ini sebagai Persentase waktu yang mesin virtual sudah siap, tetapi tidak bisa dijadwalkan untuk berjalan pada CPU fisik. Waktu CPU Ready tergantung pada jumlah mesin virtual pada host dan beban CPU mereka. Hyper-V baru-baru ini mulai menyediakan penghitung ini (Hyper-V Hypervisor Virtual processor \ CPU Waktu tunggu per pengiriman) dan hypervisor lain mungkin masih belum menyediakan metrik ini.

Untuk memahami apa itu CPU Ready, kita perlu memahami bagaimana hypervisor menjadwalkan CPU virtual (vCPU) ke CPU fisik (pCPU). Ketika waktu vCPU diperlukan dalam VM, vCPU perlu dijadwalkan terhadap pCPU (s) sehingga perintah / proses / benang dapat berjalan melawan pCPU. Dalam dunia yang ideal, tidak ada konflik atau kemacetan sumber daya ketika ini perlu terjadi. Ketika VM vCPU tunggal perlu menjadwalkan waktu terhadap pCPU, inti pCPU tersedia dan CPU Ready sangat minim di dunia yang ideal ini. Penting untuk dicatat bahwa CPU Ready selalu ada tetapi di dunia yang ideal sangat minim dan tidak diperhatikan.

Di dunia nyata, salah satu manfaat untuk virtualisasi adalah bahwa Anda dapat bertaruh bahwa banyak VM Anda tidak akan melonjak semua vCPU mereka pada saat yang sama dan jika mereka sangat rendah penggunaan VMs Anda bahkan dapat menebak berapa banyak Anda bisa memuat host fisik Anda berdasarkan penggunaan CPU dan penggunaan RAM. Di masa lalu, rekomendasi untuk memiliki 4 vCPU hingga 1 pCPU atau bahkan rasio 10: 1 tergantung pada beban kerja yang dibuat. Misalnya, Anda mungkin memiliki prosesor quad core tunggal tetapi memiliki 4 VM dengan vCPU masing-masing untuk memberi Anda 16 vCPU hingga 4 pCPU atau 4: 1. Apa yang para insinyur mulai lihat adalah bahwa lingkungannya sangat lambat dan mereka tidak tahu mengapa. Penggunaan RAM tampak baik-baik saja, penggunaan CPU pada host fisik bahkan mungkin sangat rendah, di bawah 20%. Penyimpanan latensi sangat rendah, namun VM sangat lamban.

Apa yang terjadi dalam skenario ini adalah CPU Ready. Ada antrean membangun vCPU yang siap dijadwalkan tetapi tidak ada pCPU yang tersedia untuk dijadwal. Hypervisor akan menunda penjadwalan dan menyebabkan latensi untuk VM tamu. Ini adalah pembunuh diam yang sampai beberapa tahun terakhir, tidak ada banyak alat untuk dideteksi. Dalam Windows VM, akan membutuhkan waktu lama untuk boot dan kemudian ketika akhirnya, ketika Anda mengklik pada menu mulai, akan membutuhkan waktu lama untuk muncul. Anda bahkan dapat mengkliknya lagi dengan berpikir bahwa itu tidak menerima klik pertama Anda dan ketika akhirnya menangkap, Anda akan mendapatkan klik ganda. Pada linux, VM Anda dapat boot ke mode hanya baca atau bahkan mengganti filesystem ke mode hanya baca di beberapa titik nanti.

Jadi bagaimana kita melawan CPU Ready? Ada beberapa cara yang bisa membantu. Pertama adalah memonitor metrik CPU Ready. Di VMware, tidak disarankan untuk pergi di atas 10% tetapi dalam pengalaman pribadi, pengguna mulai memperhatikan di atas 5-7% tergantung pada jenis VM dan apa yang sedang berjalan.

Di bawah ini saya akan menggunakan beberapa contoh dari VMware ESXi 5.5 untuk menampilkan CPU Ready. Menggunakan baris perintah, jalankan esxtop. Tekan c untuk tampilan CPU dan Anda akan melihat kolom % RDY untuk CPU Ready. Anda dapat menekan modal V untuk tampilan Hanya VM.

Di sini Anda dapat melihat bahwa% RDY agak tinggi untuk lingkungan yang tidak terpakai. Dalam hal ini, ESXi 5.5 saya menjalankan VM pengujian di atas VMware Fusion (Mac hypervisor) sehingga diharapkan menjadi sedikit di ujung atas karena kami menjalankan VM pada hypervisor di atas hypervisor lain.

Di klien vSphere, Anda dapat menarik VM spesifik dan klik pada tab Kinerja. Dari sana klik pada Opsi Bagan

TIP PRO: Jika masalahnya ada pada komputer Anda atau laptop / notebook, Anda harus mencoba menggunakan Perangkat Lunak Reimage Plus yang dapat memindai repositori dan mengganti file yang rusak dan hilang. Ini berfungsi dalam banyak kasus, di mana masalah ini berasal karena sistem yang rusak. Anda dapat mengunduh Reimage Plus dengan Mengklik di Sini

Di dalam Pilihan Bagan, pilih CPU, Real-time (jika Anda memiliki vCenter Anda mungkin memiliki opsi waktu lain selain real-time). Dari sana di Penghitung, pilih Siap. Anda mungkin perlu membatalkan penghitung yang berbeda karena tampilan hanya memungkinkan dua tipe data pada waktu tertentu.

Anda akan mencatat bahwa nilai ini adalah ringkasan dari siap versus persentase. Berikut ini tautan ke artikel VMware KB tentang cara mengonversi metrik yang diringkas menjadi persentase. - https://kb.vmware.com/kb/2002181

Saat membeli perangkat keras, lebih banyak inti membantu mengurangi dampak dari CPU Ready. Hyperthreading juga membantu. Meskipun Hyperthreading tidak menyediakan inti kedua penuh untuk setiap inti utama, biasanya cukup untuk memungkinkan penjadwalan vCPU ke pCPU dan membantu mengurangi masalah. Meskipun hypervisor mulai menjauh dari vCPU ke rekomendasi rasio pCPU, Anda biasanya dapat melakukannya dengan baik pada lingkungan yang cukup digunakan dengan 4: 1 dan pergi dari sana. Ketika Anda mulai memuat VM, lihatlah latensi CPU, CPU Ready, dan nuansa serta kinerja keseluruhan. Jika Anda memiliki beberapa VM memukul berat, Anda mungkin ingin memisahkan mereka ke dalam kelompok lain dan menggunakan rasio yang lebih rendah dan menjaga mereka tetap terang. Di sisi lain untuk VMs di mana kinerja bukan kunci dan tidak apa-apa bagi mereka untuk berjalan lamban Anda dapat berlangganan lebih tinggi.

Mengukur VMs dengan tepat juga merupakan alat yang sangat besar untuk memerangi CPU Ready. Banyak vendor merekomendasikan spesifikasi jauh lebih dari apa yang sebenarnya VM butuhkan. Secara tradisional lebih banyak CPU dan lebih banyak core = lebih banyak daya. Masalah dalam lingkungan virtual adalah bahwa hypervisor harus menjadwalkan semua vCPU ke pCPU pada waktu yang hampir bersamaan dan mengunci pCPU dapat menjadi masalah. Jika Anda memiliki 8 vCPU VM, Anda harus mengunci 8 pCPU agar dapat menjadwalkan pada waktu yang sama. Jika vCPU VM Anda hanya menggunakan 10% dari total vCPU pada waktu tertentu, Anda lebih baik membawa hitungan vCPU ke 2 atau 4. Lebih baik menjalankan VM pada 50-80% CPU dengan vCPU yang lebih sedikit dari 10% pada lebih banyak vCPU. Masalah ini sebagian karena sistem operasi penjadwal CPU dirancang untuk menggunakan sebanyak mungkin core sedangkan jika dilatih untuk memaksimalkan core sebelum menggunakan lebih banyak, mungkin itu kurang masalah. VM yang terlalu besar dapat berkinerja baik tetapi mungkin tetangga yang berisik untuk VM lain sehingga biasanya merupakan proses di mana Anda harus melalui semua VM di kluster ke ukuran yang tepat untuk melihat beberapa peningkatan kinerja.

Banyak kali Anda mengalami CPU Ready dan sulit untuk memulai pengukuran VM atau upgrade ke prosesor dengan lebih banyak core. Jika Anda berada dalam situasi ini, menambahkan lebih banyak host di kluster Anda dapat membantu ini untuk menyebarkan beban ke lebih banyak host. Jika Anda memiliki host dengan lebih banyak inti / prosesor daripada yang lain, mengelompokkan VM vCPU yang tinggi ke host inti yang lebih tinggi ini dapat membantu juga. Anda ingin memastikan host fisik Anda memiliki setidaknya jumlah core yang sama jika tidak lebih dari VM, jika tidak maka akan sangat lambat / sulit menjadwalkan kelebihan vCPU ke pCPU karena mereka harus dikunci pada waktu yang kurang lebih sama .

Akhirnya, hypervisor Anda dapat mendukung pemesanan dan batasan pada VM. Terkadang tesis ini disengaja tanpa sengaja. Pengaturan agresif pada ini dapat menyebabkan CPU siap ketika sebenarnya sumber daya yang mendasari tersedia untuk itu. Biasanya sebaiknya menggunakan reservasi dan batas hemat dan hanya ketika benar-benar diperlukan. Untuk sebagian besar, kelompok berukuran tepat akan menyeimbangkan sumber daya secara tepat dan ini biasanya tidak diperlukan.

Singkatnya, pertahanan terbaik terhadap CPU Ready adalah mengetahui bahwa ia ada dan cara memeriksanya. Anda kemudian dapat secara sistematis menentukan langkah-langkah mitigasi terbaik untuk lingkungan Anda yang diberikan di atas. Untuk sebagian besar, informasi dalam artikel ini berlaku universal untuk setiap hypervisor, meskipun screenshot dan grafik berlaku khusus untuk VMware.

TIP PRO: Jika masalahnya ada pada komputer Anda atau laptop / notebook, Anda harus mencoba menggunakan Perangkat Lunak Reimage Plus yang dapat memindai repositori dan mengganti file yang rusak dan hilang. Ini berfungsi dalam banyak kasus, di mana masalah ini berasal karena sistem yang rusak. Anda dapat mengunduh Reimage Plus dengan Mengklik di Sini

Facebook Twitter Google Plus Pinterest