Menghapus memori di mesin virtual Linux

11

Linux mendukung penambahan memori saat menjalankan sebagai tamu VM, misalnya di VMware . (Terkadang Anda perlu memberi tahu OS tamu secara manual .)

Apakah ada cara aman untuk melakukan operasi terbalik - mengurangi jumlah memori yang dialokasikan untuk mesin virtual, dan jika demikian, apakah Anda perlu memberi tahu tamu Linux secara manual sebelum operasi seperti itu? (Jika demikian, apakah prosedur khusus untuk alat VMware, atau apakah itu generik untuk segala jenis mekanisme virtualisasi?)

200_sukses
sumber

Jawaban:

7

ESXi tidak mendukung memori penghapus panas atau CPU dari VM. Seseorang yang saya temui di pub beberapa bulan yang lalu memberi tahu saya bahwa saudara perempuan dari teman sepupunya * batuk * mendapat jawaban bahwa sebenarnya tidak ada pelanggan yang meminta fitur ini. Dengan kata lain: Tidak perlu repot menerapkan hot-remove.

Jika Anda ingin ESXi mendukung ini, buka VMware dan beri tahu mereka. Semakin banyak orang melakukannya, semakin tinggi peluang mereka untuk mengimplementasikannya.

Mario Lenz
sumber
1
Baca ini dan katakan, "Pacar saudara perempuan sahabat karib sahabatku ini mendengar dari lelaki yang mengenal bocah ini yang pergi dengan gadis yang melihat Ferris pingsan di 31 Flavours tadi malam. Kurasa ini cukup serius."
warren
Sangat menarik bahwa perusahaan komersial seperti vmware tidak mendukung penghapusan memori yang panas, sementara KVM (perangkat lunak bebas) mendukungnya. Saya akan mengatakan itu argumen bagus untuk perangkat lunak bebas.
aseq
@aseq Sementara saya penggemar berat perangkat lunak gratis, saya tidak berpikir bahwa satu fitur tunggal adalah alasan yang baik untuk (atau menentang) itu.
Mario Lenz
Itu tergantung pada fitur, tetapi kvm memiliki banyak hal lain yang terjadi. Yang satu ini mungkin saja menjadi faktor penentu.
aseq
@aseq Penghapusan memori panas mungkin menjadi alasan untuk memilih KVM daripada ESXi, tapi itu keputusan yang sangat spesifik dan tidak ada hubungannya dengan keunggulan umum perangkat lunak bebas. Izinkan saya mengatakannya seperti ini: Jika sebaliknya (ESXi akan mendukung penghapusan panas memori dan KVM tidak akan), apakah itu akan menjadi argumen yang bagus untuk perangkat lunak berpemilik? Saya pikir tidak.
Mario Lenz
4

Saya tidak bisa mengatakan dengan pasti di vmware, tetapi ketika menggunakan kvm, penurunan memori dari mesin virtual yang berjalan berfungsi dengan baik. Tentu saja sampai batas tertentu, tetapi perangkat lunak akan memberi tahu Anda. Saat Anda menguranginya, memori di mesin virtual akan secara bertahap diturunkan, hingga tidak dapat diturunkan lebih jauh. Jika Anda mengatur memori menjadi lebih rendah dari tempat ia berhenti, Anda harus me-reboot mesin virtual untuk menurunkannya sepenuhnya.

Baru-baru ini saya melakukan itu pada sistem yang menjalankan kvm dengan sekitar 20 mesin virtual, di mana seseorang berpikir lebih baik untuk mengkomit memori, menyebabkan beberapa mesin virtual berjalan dalam swap (doh!). Untuk memperbaikinya saya menurunkan memori sekitar 20-40% dari 2/3 dari mesin virtual dan sebagian besar mampu menurunkannya sepenuhnya saat berjalan. Beberapa membutuhkan reboot agar pengaturan memori baru berfungsi sepenuhnya.

Mulai dari itu saya akan berasumsi mesin virtual vmware dapat memungkinkan perilaku ini juga. Namun tes cepat di vmware player memberitahu saya bahwa itu akan membutuhkan reboot untuk mengambil efek (perangkat lunak vmware yang lebih bagus mungkin berperilaku lebih baik). Kalau tidak, aman untuk melakukannya pada sistem yang sedang berjalan. Tentu saja apakah jumlah memori yang tersisa cukup untuk menjalankannya dengan benar adalah masalah lain.

aseq
sumber