diff mbox

[1/2] kvm tools: Don't use all of host RAM for guests by default

Message ID 1304795345-7092-1-git-send-email-penberg@kernel.org (mailing list archive)
State New, archived
Headers show

Commit Message

Pekka Enberg May 7, 2011, 7:09 p.m. UTC
This patch fixes the default guest RAM size maximum to 80% of the host RAM to
avoid swapping the host to death.

Cc: Asias He <asias.hejun@gmail.com>
Cc: Cyrill Gorcunov <gorcunov@gmail.com>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Prasad Joshi <prasadjoshi124@gmail.com>
Cc: Sasha Levin <levinsasha928@gmail.com>
Suggested-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Pekka Enberg <penberg@kernel.org>
---
 tools/kvm/kvm-run.c |    8 +++++++-
 1 files changed, 7 insertions(+), 1 deletions(-)
diff mbox

Patch

diff --git a/tools/kvm/kvm-run.c b/tools/kvm/kvm-run.c
index ec1e462..b9cdec2 100644
--- a/tools/kvm/kvm-run.c
+++ b/tools/kvm/kvm-run.c
@@ -213,6 +213,12 @@  static void kernel_usage_with_options(void)
 	fprintf(stderr, "\nPlease see 'kvm run --help' for more options.\n\n");
 }
 
+/*
+ * If user didn't specify how much memory it wants to allocate for the guest,
+ * avoid filling the whole host RAM.
+ */
+#define RAM_SIZE_RATIO		0.8
+
 static u64 get_ram_size(int nr_cpus)
 {
 	long available;
@@ -226,7 +232,7 @@  static u64 get_ram_size(int nr_cpus)
 
 	page_size	= sysconf(_SC_PAGE_SIZE);
 
-	available	= (nr_pages * page_size) >> MB_SHIFT;
+	available	= ((nr_pages * page_size) >> MB_SHIFT) * RAM_SIZE_RATIO;
 
 	if (ram_size > available)
 		ram_size	= available;