pub struct CpuResources {
    pub cpus: Option<String>,
    pub mems: Option<String>,
    pub shares: Option<u64>,
    pub quota: Option<i64>,
    pub period: Option<u64>,
    pub realtime_runtime: Option<i64>,
    pub realtime_period: Option<u64>,
    pub attrs: HashMap<String, String>,
}
Expand description

Resources limits about how the tasks can use the CPU.

Fields§

§cpus: Option<String>

A comma-separated list of CPU IDs where the task in the control group can run. Dashes between numbers indicate ranges.

§mems: Option<String>

Same syntax as the cpus field of this structure, but applies to memory nodes instead of processors.

§shares: Option<u64>

Weight of how much of the total CPU time should this control group get. Note that this is hierarchical, so this is weighted against the siblings of this control group.

§quota: Option<i64>

In one period, how much can the tasks run in microseconds.

§period: Option<u64>

Period of time in microseconds.

§realtime_runtime: Option<i64>

This is currently a no-operation.

§realtime_period: Option<u64>

This is currently a no-operation.

§attrs: HashMap<String, String>

Customized key-value attributes

Usage:

let resource = &mut cgroups_rs::Resources::default();
resource.cpu.attrs.insert("cpu.cfs_init_buffer_us".to_string(), "10".to_string());
// apply here

Trait Implementations§

source§

impl Clone for CpuResources

source§

fn clone(&self) -> CpuResources

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for CpuResources

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for CpuResources

source§

fn default() -> CpuResources

Returns the “default value” for a type. Read more
source§

impl PartialEq for CpuResources

source§

fn eq(&self, other: &CpuResources) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl Eq for CpuResources

source§

impl StructuralEq for CpuResources

source§

impl StructuralPartialEq for CpuResources

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.