diff --git a/client/driver/docker.go b/client/driver/docker.go index 9851fa40a..c0133b068 100644 --- a/client/driver/docker.go +++ b/client/driver/docker.go @@ -1139,8 +1139,9 @@ func (d *DockerDriver) createContainerConfig(ctx *ExecContext, task *structs.Tas // Calculate CPU Quota if driverConfig.CPUHardLimit { + numCores := runtime.NumCPU() percentTicks := float64(task.Resources.CPU) / float64(d.node.Resources.CPU) - hostConfig.CPUQuota = int64(percentTicks * defaultCFSPeriodUS) + hostConfig.CPUQuota = int64(percentTicks*defaultCFSPeriodUS) * int64(numCores) } // Windows does not support MemorySwap/MemorySwappiness #2193