From 5ec72c848f049a7e647315602086bf0859b2c4e9 Mon Sep 17 00:00:00 2001 From: Ryan Yin Date: Mon, 29 Jul 2024 22:07:10 +0800 Subject: [PATCH] fix: allocate only hugepages with size 1Gi --- hosts/k8s/kubevirt-shoryu/default.nix | 12 ++++++++++++ hosts/k8s/kubevirt-shushou/default.nix | 12 ++++++++++++ hosts/k8s/kubevirt-youko/default.nix | 12 ++++++++++++ 3 files changed, 36 insertions(+) diff --git a/hosts/k8s/kubevirt-shoryu/default.nix b/hosts/k8s/kubevirt-shoryu/default.nix index cd198a925..0afb026bc 100644 --- a/hosts/k8s/kubevirt-shoryu/default.nix +++ b/hosts/k8s/kubevirt-shoryu/default.nix @@ -49,4 +49,16 @@ in { coreModule k3sModule ]; + + # https://kubevirt.io/user-guide/compute/hugepages/ + boot.kernelParams = [ + # disable transparent hugepage(allocate hugepages dynamically) + "transparent_hugepage=never" + + # pre-allocate hugepages manually(for kubevirt guest vms) + # NOTE: the hugepages allocated here can not be used for other purposes! + # so we should left some memory for the host OS + "hugepagesz=1G" + "hugepages=56" + ]; } diff --git a/hosts/k8s/kubevirt-shushou/default.nix b/hosts/k8s/kubevirt-shushou/default.nix index 75eb85458..98ce3c61a 100644 --- a/hosts/k8s/kubevirt-shushou/default.nix +++ b/hosts/k8s/kubevirt-shushou/default.nix @@ -43,4 +43,16 @@ in { coreModule k3sModule ]; + + # https://kubevirt.io/user-guide/compute/hugepages/ + boot.kernelParams = [ + # disable transparent hugepage(allocate hugepages dynamically) + "transparent_hugepage=never" + + # pre-allocate hugepages manually(for kubevirt guest vms) + # NOTE: the hugepages allocated here can not be used for other purposes! + # so we should left some memory for the host OS + "hugepagesz=1G" + "hugepages=56" + ]; } diff --git a/hosts/k8s/kubevirt-youko/default.nix b/hosts/k8s/kubevirt-youko/default.nix index 00a5a0c23..9f17b04eb 100644 --- a/hosts/k8s/kubevirt-youko/default.nix +++ b/hosts/k8s/kubevirt-youko/default.nix @@ -43,4 +43,16 @@ in { coreModule k3sModule ]; + + # https://kubevirt.io/user-guide/compute/hugepages/ + boot.kernelParams = [ + # disable transparent hugepage(allocate hugepages dynamically) + "transparent_hugepage=never" + + # pre-allocate hugepages manually(for kubevirt guest vms) + # NOTE: the hugepages allocated here can not be used for other purposes! + # so we should left some memory for the host OS + "hugepagesz=1G" + "hugepages=18" + ]; }