[−][src]Struct cgroups_rs::cpuset::CpuSet
The current state of the cpuset controller for this control group.
Fields
cpu_exclusive: boolIf true, no other control groups can share the CPUs listed in the cpus field.
cpus: Vec<(u64, u64)>The list of CPUs the tasks of the control group can run on.
This is a vector of (start, end) tuples, where each tuple is a range of CPUs where the
control group is allowed to run on. Both sides of the range are inclusive.
effective_cpus: Vec<(u64, u64)>The list of CPUs that the tasks can effectively run on. This removes the list of CPUs that
the parent (and all of its parents) cannot run on from the cpus field of this control
group.
effective_mems: Vec<(u64, u64)>The list of memory nodes that the tasks can effectively use. This removes the list of nodes that
the parent (and all of its parents) cannot use from the mems field of this control
group.
mem_exclusive: boolIf true, no other control groups can share the memory nodes listed in the mems field.
mem_hardwall: boolIf true, the control group is 'hardwalled'. Kernel memory allocations (except for a few
minor exceptions) are made from the memory nodes designated in the mems field.
memory_migrate: boolIf true, whenever mems is changed via set_mems(), the memory stored on the previous
nodes are migrated to the new nodes selected by the new mems.
memory_pressure: u64Running average of the memory pressured faced by the tasks in the control group.
memory_pressure_enabled: Option<bool>This field is only at the root control group and controls whether the kernel will compute the memory pressure for control groups or not.
memory_spread_page: boolIf true, filesystem buffers are spread across evenly between the nodes specified in mems.
memory_spread_slab: boolIf true, kernel slab caches for file I/O are spread across evenly between the nodes
specified in mems.
mems: Vec<(u64, u64)>The list of memory nodes the tasks of the control group can use.
The format is the same as the cpus, effective_cpus and effective_mems fields.
sched_load_balance: boolIf true, the kernel will attempt to rebalance the load between the CPUs specified in the
cpus field of this control group.
sched_relax_domain_level: u64Represents how much work the kernel should do to rebalance this cpuset.
sched_load_balance | Effect |
|---|---|
| -1 | Use the system default value |
| 0 | Only balance loads periodically |
| 1 | Immediately balance the load across tasks on the same core |
| 2 | Immediately balance the load across cores in the same CPU package |
| 4 | Immediately balance the load across CPUs on the same node |
| 5 | Immediately balance the load between CPUs even if the system is NUMA |
| 6 | Immediately balance the load between all CPUs |
Auto Trait Implementations
impl RefUnwindSafe for CpuSet[src]
impl Send for CpuSet[src]
impl Sync for CpuSet[src]
impl Unpin for CpuSet[src]
impl UnwindSafe for CpuSet[src]
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized, [src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized, [src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T[src]
impl<T> From<T> for T[src]
impl<T, U> Into<U> for T where
U: From<T>, [src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>, [src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>, [src]
U: TryFrom<T>,