diff --git a/runtime.go b/runtime.go index a12d0c92d0..b894a2cdaf 100644 --- a/runtime.go +++ b/runtime.go @@ -305,18 +305,22 @@ func NewRuntime() (*Runtime, error) { log.Printf("WARNING: You are running linux kernel version %s, which might be unstable running docker. Please upgrade your kernel to 3.8.0.", k.String()) } - cgroupMemoryMountpoint, err := FindCgroupMountpoint("memory") - if err != nil { - return nil, err + if cgroupMemoryMountpoint, err := FindCgroupMountpoint("memory"); err != nil { + log.Printf("WARNING: %s\n", err) + } else { + _, err1 := ioutil.ReadFile(path.Join(cgroupMemoryMountpoint, "memory.limit_in_bytes")) + _, err2 := ioutil.ReadFile(path.Join(cgroupMemoryMountpoint, "memory.soft_limit_in_bytes")) + runtime.capabilities.MemoryLimit = err1 == nil && err2 == nil + if !runtime.capabilities.MemoryLimit { + log.Printf("WARNING: Your kernel does not support cgroup memory limit.") + } + + _, err = ioutil.ReadFile(path.Join(cgroupMemoryMountpoint, "memory.memsw.limit_in_bytes")) + runtime.capabilities.SwapLimit = err == nil + if !runtime.capabilities.SwapLimit { + log.Printf("WARNING: Your kernel does not support cgroup swap limit.") + } } - - _, err1 := ioutil.ReadFile(path.Join(cgroupMemoryMountpoint, "/memory.limit_in_bytes")) - _, err2 := ioutil.ReadFile(path.Join(cgroupMemoryMountpoint, "memory.soft_limit_in_bytes")) - runtime.capabilities.MemoryLimit = err1 == nil && err2 == nil - - _, err = ioutil.ReadFile(path.Join(cgroupMemoryMountpoint, "memeory.memsw.limit_in_bytes")) - runtime.capabilities.SwapLimit = err == nil - return runtime, nil } diff --git a/utils.go b/utils.go index bb891b18a9..ff918d1eef 100644 --- a/utils.go +++ b/utils.go @@ -503,7 +503,6 @@ func FindCgroupMountpoint(cgroupType string) (string, error) { if len(r) == 2 { return r[1], nil } - fmt.Printf("line: %s (%d)\n", line, len(r)) } - return "", fmt.Errorf("cgroup mountpoint not found") + return "", fmt.Errorf("cgroup mountpoint not found for %s", cgroupType) }