pids limit support
update bash commpletion for pids limit update check config for kernel add docs for pids limit add pids stats add stats to docker client Signed-off-by: Jessica Frazelle <acidburn@docker.com>
This commit is contained in:
parent
f558904849
commit
8ad3fc4a91
2 changed files with 22 additions and 0 deletions
|
@ -14,6 +14,7 @@ type SysInfo struct {
|
||||||
cgroupCPUInfo
|
cgroupCPUInfo
|
||||||
cgroupBlkioInfo
|
cgroupBlkioInfo
|
||||||
cgroupCpusetInfo
|
cgroupCpusetInfo
|
||||||
|
cgroupPids
|
||||||
|
|
||||||
// Whether IPv4 forwarding is supported or not, if this was disabled, networking will not work
|
// Whether IPv4 forwarding is supported or not, if this was disabled, networking will not work
|
||||||
IPv4ForwardingDisabled bool
|
IPv4ForwardingDisabled bool
|
||||||
|
@ -90,6 +91,11 @@ type cgroupCpusetInfo struct {
|
||||||
Mems string
|
Mems string
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type cgroupPids struct {
|
||||||
|
// Whether Pids Limit is supported or not
|
||||||
|
PidsLimit bool
|
||||||
|
}
|
||||||
|
|
||||||
// IsCpusetCpusAvailable returns `true` if the provided string set is contained
|
// IsCpusetCpusAvailable returns `true` if the provided string set is contained
|
||||||
// in cgroup's cpuset.cpus set, `false` otherwise.
|
// in cgroup's cpuset.cpus set, `false` otherwise.
|
||||||
// If error is not nil a parsing error occurred.
|
// If error is not nil a parsing error occurred.
|
||||||
|
|
|
@ -44,6 +44,7 @@ func New(quiet bool) *SysInfo {
|
||||||
sysInfo.cgroupCPUInfo = checkCgroupCPU(cgMounts, quiet)
|
sysInfo.cgroupCPUInfo = checkCgroupCPU(cgMounts, quiet)
|
||||||
sysInfo.cgroupBlkioInfo = checkCgroupBlkioInfo(cgMounts, quiet)
|
sysInfo.cgroupBlkioInfo = checkCgroupBlkioInfo(cgMounts, quiet)
|
||||||
sysInfo.cgroupCpusetInfo = checkCgroupCpusetInfo(cgMounts, quiet)
|
sysInfo.cgroupCpusetInfo = checkCgroupCpusetInfo(cgMounts, quiet)
|
||||||
|
sysInfo.cgroupPids = checkCgroupPids(quiet)
|
||||||
}
|
}
|
||||||
|
|
||||||
_, ok := cgMounts["devices"]
|
_, ok := cgMounts["devices"]
|
||||||
|
@ -216,6 +217,21 @@ func checkCgroupCpusetInfo(cgMounts map[string]string, quiet bool) cgroupCpusetI
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// checkCgroupPids reads the pids information from the pids cgroup mount point.
|
||||||
|
func checkCgroupPids(quiet bool) cgroupPids {
|
||||||
|
_, err := cgroups.FindCgroupMountpoint("pids")
|
||||||
|
if err != nil {
|
||||||
|
if !quiet {
|
||||||
|
logrus.Warn(err)
|
||||||
|
}
|
||||||
|
return cgroupPids{}
|
||||||
|
}
|
||||||
|
|
||||||
|
return cgroupPids{
|
||||||
|
PidsLimit: true,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func cgroupEnabled(mountPoint, name string) bool {
|
func cgroupEnabled(mountPoint, name string) bool {
|
||||||
_, err := os.Stat(path.Join(mountPoint, name))
|
_, err := os.Stat(path.Join(mountPoint, name))
|
||||||
return err == nil
|
return err == nil
|
||||||
|
|
Loading…
Reference in a new issue