diff --git a/hosts/k8s/kubevirt-shoryu/default.nix b/hosts/k8s/kubevirt-shoryu/default.nix index cd198a92..0afb026b 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 75eb8545..98ce3c61 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 00a5a0c2..9f17b04e 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" + ]; }