Ada lebih dari sekedar ESXi yang dipertanyakan di sini,
- Setiap VM akan mengkonsumsi hingga 4GB + "overhead" yang didokumentasikan di sini . Ini tergantung pada vCPU, + memori yang dialokasikan. Minimal setiap VM akan menggunakan 4261,98 MB (4096 + 165,98)
- Memori overhead ESXi sendiri, ini tergantung perangkat keras. Opsi termudah adalah dengan melihat penggunaan memori Sistem di klien vSphere. Dari memori saya ingat itu sekitar tanda 1.3GB, tetapi seperti yang disebutkan itu sangat tergantung pada perangkat keras.
Penjelasan Alokasi Memori & Komitmen Berlebih
Perhatikan bahwa hypervisor tidak akan mengalokasikan semua memori di muka , itu tergantung pada penggunaan VM. Namun, perlu dipahami apa yang akan terjadi jika VM mencoba mengalokasikan dan menggunakan semua memori yang dialokasikan untuk mereka.
Maksimum yang host VM + Anda coba gunakan kira-kira, milage 55 GB dapat bervariasi
- 1,3 GB digunakan oleh ESXi
- 4261,98 MBs * 13 digunakan oleh VM
Ada aspek lain yang perlu diperhatikan dan itu adalah ambang memori. Secara default VMware akan bertujuan untuk memiliki 6% gratis (ambang memori tinggi). Jadi 55 GB memori yang digunakan perlu dikurangi hingga ~ 45GB
Itu berarti tuan rumah akan memiliki sekitar 10.500 MB memori yang dibutuhkan untuk mendapatkan kembali dari suatu tempat jika VM menggunakan memori yang telah mereka alokasikan. Ada tiga hal yang ESX lakukan untuk menemukan tambahan 10,5 GB.
Metode Reklamasi Memori
- Berbagi Halaman Transparan
- Memory Ballooning
- Swap Hypervisor
Anda harus membaca dan memahami Memahami Manajemen Sumber Daya Memori di VMware® ESX ™ Server .
Tergantung pada sejumlah besar faktor, kombinasi ketiganya akan / bisa terjadi pada host yang terlalu berkomitmen. Anda perlu menguji lingkungan Anda dan memantau metrik ini untuk memahami dampak dari komitmen yang berlebihan.
Beberapa aturan kasar yang perlu diketahui (semua dalam makalah di atas dan sumber lainnya).
- Berbagi halaman transparan tidak terjadi untuk VM yang menggunakan halaman 2/4 MB. Karena Anda telah mengalokasikan 4096 MB ke VM Windows Anda, mereka akan menggunakan halaman 2/4 MB secara default (tergantung PAE). Hanya di bawah tekanan memori, VMware akan memecah halaman besar menjadi 4 KB yang bisa dibagi. TPS mengandalkan penggunaan siklus CPU siaga dan pemindaian halaman memori pada tingkat tertentu. Ini mengembalikan memori relatif lambat (pikirkan satu jam daripada menit). Jadi badai boot akan berarti TPS tidak akan membantu Anda. Dari ketiganya, ini memiliki dampak kinerja terendah. Lebih banyak dari dokumen,
Dalam sistem virtualisasi memori berbantuan perangkat keras (misalnya, Intel EPT Hardware Assist dan AMD RVI Hardware Assist [6]), ESX akan secara otomatis mendukung halaman fisik tamu dengan halaman fisik host yang besar (2MB wilayah memori yang berdekatan bukannya 4KB untuk halaman biasa) untuk kinerja yang lebih baik karena lebih sedikit kehilangan TLB. Dalam sistem seperti itu, ESX tidak akan membagikan halaman-halaman besar itu karena: 1) kemungkinan menemukan dua halaman besar yang memiliki konten identik rendah, dan 2) overhead untuk melakukan perbandingan sedikit demi sedikit untuk halaman 2MB jauh lebih besar daripada untuk halaman 4KB. Namun, ESX masih menghasilkan hash untuk halaman 4KB dalam setiap halaman besar. Karena ESX tidak akan menukar halaman besar, selama pertukaran host, halaman besar akan dipecah menjadi halaman-halaman kecil sehingga hash yang dibuat sebelumnya ini dapat digunakan untuk membagikan halaman-halaman kecil sebelum mereka diganti. Singkatnya, kami tidak dapat mengamati pembagian halaman untuk sistem virtualisasi memori berbantuan perangkat keras hingga memori host terlalu dikomit.
Balon menendang berikutnya (ambang dapat dikonfigurasi, secara default ini adalah ketika tuan rumah memiliki file lebih dari 6% bebas memori (antara tinggi dan perangkat lunak)). Pastikan Anda menginstal driver, dan hati-hati terhadap Java dan aplikasi yang dikelola secara umum. OS tidak memiliki wawasan tentang apa yang akan dilakukan pengumpul sampah selanjutnya dan itu akan berakhir pada halaman yang telah ditukar ke disk. Ini bukan praktik umum untuk server yang menjalankan aplikasi java secara eksklusif untuk menonaktifkan swap sepenuhnya untuk menjamin itu tidak terjadi. Lihat halaman 17 dari vSphere Memory Management, SPECjbb
Swap hypervisor , dari tiga metode adalah satu-satunya yang menjamin "memori" tersedia untuk hypervisor dalam waktu yang ditentukan. Ini akan digunakan jika 1 & 2 tidak memberinya cukup memori untuk tetap berada di bawah ambang keras (default 2% memori bebas). Saat membaca metrik kinerja (lakukan sendiri), Anda akan menyadari ini adalah performa terburuk dari ketiganya. Bertujuan untuk menghindarinya sama sekali karena dampak kinerja akan sangat nyata pada hampir semua aplikasi persentase dua digit
Ada satu lagi kondisi yang harus diperhatikan rendah (secara default 1%). Dari manual ini dapat secara drastis mengurangi kinerja Anda,
Dalam kasus yang jarang terjadi di mana memori bebas host turun di bawah ambang batas rendah, hypervisor terus mengklaim kembali memori melalui pertukaran dan kompresi memori, dan juga memblokir eksekusi semua mesin virtual yang mengkonsumsi lebih banyak memori daripada alokasi memori target mereka.
Ringkasan
Poin utama dari stres adalah tidak mungkin untuk memprediksi dari whitepaper bagaimana lingkungan Anda akan berperilaku.
- Berapa banyak yang bisa diberikan TPS kepada Anda? (Tergantung pada seberapa mirip VM Anda dengan OS mereka, Paket Layanan, dan aplikasi yang berjalan)
- Seberapa cepat VM Anda mengalokasikan memori Anda? Semakin cepat mereka melakukannya, semakin besar kemungkinan Anda untuk melompat ke ambang berikutnya sebelum skema reklamasi memori yang kurang berdampak berhasil membuat Anda di ambang Anda saat ini.
- Tergantung pada aplikasinya, setiap skema reklamasi memori akan memiliki dampak yang sangat bervariasi.
Uji skenario rata-rata Anda, Anda skenario 95% persentil, dan akhirnya maksimum Anda untuk memahami bagaimana lingkungan Anda akan berjalan.
Edit 1
Layak menambahkan bahwa dengan vSphere 4 (atau 4.1 tidak dapat mengingat), sekarang mungkin untuk menempatkan swap hypervisor pada disk lokal tetapi masih memvmasikan VM. Jika Anda menggunakan penyimpanan bersama, saya sangat menyarankan Anda memindahkan file swap hypervisor ke disk lokal secara default. Ini memastikan bahwa ketika satu host berada di bawah tekanan memori yang parah, itu tidak berakhir berdampak semua host / VM vSphere pada penyimpanan bersama yang sama.
Edit 2
Berdasarkan komentar, jadikan fakta bahwa ESX tidak mengalokasikan memori di muka dalam cetak tebal ...
Edit 3
Dijelaskan sedikit tentang ambang memori.