@@ -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;
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(-)