diff --git a/virtcontainers/qemu.go b/virtcontainers/qemu.go index 95ae5c8260..54da515d3f 100644 --- a/virtcontainers/qemu.go +++ b/virtcontainers/qemu.go @@ -67,6 +67,7 @@ const defaultConsole = "console.sock" var defaultKernelParameters = []Param{ {"panic", "1"}, {"initcall_debug", ""}, + {"nr_cpus", fmt.Sprintf("%d", maxQemuVCPUs())}, } type operation int diff --git a/virtcontainers/qemu_amd64.go b/virtcontainers/qemu_amd64.go index 2e3406a921..15e1fd8185 100644 --- a/virtcontainers/qemu_amd64.go +++ b/virtcontainers/qemu_amd64.go @@ -8,6 +8,7 @@ package virtcontainers import ( "fmt" "os" + "runtime" "strconv" govmmQemu "github.com/intel/govmm/qemu" @@ -73,7 +74,7 @@ var supportedQemuMachines = []govmmQemu.Machine{ // returns the maximum number of vCPUs supported func maxQemuVCPUs() uint32 { - return uint32(240) + return uint32(runtime.NumCPU()) } func newQemuArch(config HypervisorConfig) qemuArch {