pub struct MemorySnapshot {
pub total_bytes: u64,
pub available: MetricState<u64>,
pub used: MetricState<u64>,
pub free: MetricState<u64>,
pub usage: MetricState<Percent>,
pub detail: MemoryDetail,
pub swap: SwapSnapshot,
pub semantics: MemorySemantics,
pub cgroup_limit_bytes: MetricState<u64>,
}Expand description
System memory state.
Fields§
§total_bytes: u64Total physical memory. Always known.
available: MetricState<u64>Memory allocatable without reclaim pressure, per Self::semantics.
used: MetricState<u64>total_bytes - available, per Self::semantics.
free: MetricState<u64>Completely unused memory. Usually much smaller than available.
usage: MetricState<Percent>Share of memory in use.
detail: MemoryDetailThe secondary breakdown.
swap: SwapSnapshotSwap capacity and activity.
semantics: MemorySemanticsWhich definition produced available and used.
cgroup_limit_bytes: MetricState<u64>The cgroup memory limit, when running under one, alongside the host
total in total_bytes.
§9.2 requires container limits to be exposed separately from host totals and both to be shown and labelled where observable.
Implementations§
Source§impl MemorySnapshot
impl MemorySnapshot
Sourcepub const fn warming_up(total_bytes: u64, semantics: MemorySemantics) -> Self
pub const fn warming_up(total_bytes: u64, semantics: MemorySemantics) -> Self
A snapshot with only the total known, for the first frame.
Sourcepub fn effective_limit_bytes(&self) -> u64
pub fn effective_limit_bytes(&self) -> u64
The memory ceiling that actually applies to this process tree.
Inside a container this is the cgroup limit, not the host total; §9.2 requires the distinction to be observable rather than silently folded into one number.
Trait Implementations§
Source§impl Clone for MemorySnapshot
impl Clone for MemorySnapshot
Source§fn clone(&self) -> MemorySnapshot
fn clone(&self) -> MemorySnapshot
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more