Struct procfs::CpuInfo

source ·
pub struct CpuInfo {
    pub fields: HashMap<String, String>,
    pub cpus: Vec<HashMap<String, String>>,
}
Expand description

Represents the data from /proc/cpuinfo.

The fields field stores the fields that are common among all CPUs. The cpus field stores CPU-specific info.

For common fields, there are methods that will return the data, converted to a more appropriate data type. These methods will all return None if the field doesn’t exist, or is in some unexpected format (in that case, you’ll have to access the string data directly).

Fields§

§fields: HashMap<String, String>

This stores fields that are common among all CPUs

§cpus: Vec<HashMap<String, String>>

Implementations§

source§

impl CpuInfo

source

pub fn from_reader<R: Read>(r: R) -> ProcResult<CpuInfo>

Get CpuInfo from a custom Read instead of the default /proc/cpuinfo.

source

pub fn new() -> ProcResult<CpuInfo>

source

pub fn num_cores(&self) -> usize

Get the total number of cpu cores.

This is the number of entries in the /proc/cpuinfo file.

source

pub fn get_info(&self, cpu_num: usize) -> Option<HashMap<&str, &str>>

Get info for a specific cpu.

This will merge the common fields with the cpu-specific fields.

Returns None if the requested cpu index is not found.

source

pub fn get_field(&self, cpu_num: usize, field_name: &str) -> Option<&str>

Get the content of a specific field associated to a CPU

Returns None if the requested cpu index is not found.

source

pub fn model_name(&self, cpu_num: usize) -> Option<&str>

source

pub fn vendor_id(&self, cpu_num: usize) -> Option<&str>

source

pub fn physical_id(&self, cpu_num: usize) -> Option<u32>

May not be available on some older 2.6 kernels

source

pub fn flags(&self, cpu_num: usize) -> Option<Vec<&str>>

Trait Implementations§

source§

impl Clone for CpuInfo

source§

fn clone(&self) -> CpuInfo

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 CpuInfo

source§

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

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

impl<'de> Deserialize<'de> for CpuInfo

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Serialize for CpuInfo

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

const: unstable · source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

const: unstable · source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

const: unstable · source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

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

const: unstable · 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 Twhere 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 Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
const: unstable · source§

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

Performs the conversion.
source§

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

§

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

The type returned in the event of a conversion error.
const: unstable · source§

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

Performs the conversion.
source§

impl<T> DeserializeOwned for Twhere T: for<'de> Deserialize<'de>,