Feature: option for disable OOM killer

Add cgroup support for disable OOM killer.

Signed-off-by: Hu Keping <hukeping@huawei.com>
This commit is contained in:
HuKeping 2015-02-26 19:53:55 +08:00 committed by Hu Keping
parent 04f24878fb
commit cf1886e04b

View file

@ -18,6 +18,7 @@ type SysInfo struct {
CpuCfsQuota bool CpuCfsQuota bool
IPv4ForwardingDisabled bool IPv4ForwardingDisabled bool
AppArmor bool AppArmor bool
OomKillDisable bool
} }
// New returns a new SysInfo, using the filesystem to detect which features the kernel supports. // New returns a new SysInfo, using the filesystem to detect which features the kernel supports.
@ -36,6 +37,12 @@ func New(quiet bool) *SysInfo {
if !sysInfo.SwapLimit && !quiet { if !sysInfo.SwapLimit && !quiet {
logrus.Warn("Your kernel does not support swap memory limit.") logrus.Warn("Your kernel does not support swap memory limit.")
} }
_, err = ioutil.ReadFile(path.Join(cgroupMemoryMountpoint, "memory.oom_control"))
sysInfo.OomKillDisable = err == nil
if !sysInfo.OomKillDisable && !quiet {
logrus.Warnf("Your kernel does not support oom control.")
}
} }
if cgroupCpuMountpoint, err := cgroups.FindCgroupMountpoint("cpu"); err != nil { if cgroupCpuMountpoint, err := cgroups.FindCgroupMountpoint("cpu"); err != nil {