2014-01-20 19:15:44 +00:00
package cgroups
import (
2014-04-14 00:02:01 +00:00
"errors"
2014-02-17 23:14:30 +00:00
"github.com/dotcloud/docker/pkg/libcontainer/devices"
2014-01-20 19:15:44 +00:00
)
2014-04-14 00:02:01 +00:00
var (
ErrNotFound = errors . New ( "mountpoint not found" )
)
2014-02-20 23:48:48 +00:00
type Cgroup struct {
Name string ` json:"name,omitempty" `
2014-02-17 23:14:30 +00:00
Parent string ` json:"parent,omitempty" ` // name of parent cgroup or slice
2014-02-20 23:48:48 +00:00
2014-05-31 01:30:27 +00:00
AllowAllDevices bool ` json:"allow_all_devices,omitempty" ` // If this is true allow access to any kind of device within the container. If false, allow access only to devices explicitly listed in the allowed_devices list.
AllowedDevices [ ] * devices . Device ` json:"allowed_devices,omitempty" `
Memory int64 ` json:"memory,omitempty" ` // Memory limit (in bytes)
MemoryReservation int64 ` json:"memory_reservation,omitempty" ` // Memory reservation or soft_limit (in bytes)
MemorySwap int64 ` json:"memory_swap,omitempty" ` // Total memory usage (memory + swap); set `-1' to disable swap
CpuShares int64 ` json:"cpu_shares,omitempty" ` // CPU shares (relative weight vs. other containers)
CpuQuota int64 ` json:"cpu_quota,omitempty" ` // CPU hardcap limit (in usecs). Allowed cpu time in a given period.
CpuPeriod int64 ` json:"cpu_period,omitempty" ` // CPU period to be used for hardcapping (in usecs). 0 to use system default.
CpusetCpus string ` json:"cpuset_cpus,omitempty" ` // CPU to use
Freezer string ` json:"freezer,omitempty" ` // set the freeze value for the process
2014-02-21 13:35:43 +00:00
2014-04-23 09:00:12 +00:00
Slice string ` json:"slice,omitempty" ` // Parent slice to use for systemd
2014-02-20 23:48:48 +00:00
}
2014-03-14 09:47:49 +00:00
type ActiveCgroup interface {
Cleanup ( ) error
2014-02-20 23:48:48 +00:00
}