pub struct HostMemory {
pub at: u64,
pub total: u64,
pub available: u64,
pub slice: u64,
pub some: Option<Pressure>,
pub full: Option<Pressure>,
pub holders: Vec<Holder>,
}Expand description
The host’s memory at one moment, beside the slice’s: what admission fits new runners in besides MemoryMax
(ADR 0055). Read every few seconds; not kept in the history.
Fields§
§at: u64When it was read.
total: u64MemTotal in /proc/meminfo, in bytes.
available: u64MemAvailable: what the host could give without swapping, page cache it can drop included, in bytes.
slice: u64The slice’s memory without page cache and reclaimable slab: what the runners hold that MemAvailable leaves
out.
some: Option<Pressure>/proc/pressure/memory’s some line: the share of time at least one task waited for memory. None on a
kernel without pressure stall information.
full: Option<Pressure>Its full line: the share of time every task that could run waited for memory.
holders: Vec<Holder>The programs outside the slice that hold the most memory, largest first: at most a few, none under a floor. Read less often than the rest. Empty when none is that large, and from a daemon before it said.
Implementations§
Source§impl HostMemory
impl HostMemory
Sourcepub fn available_line(&self) -> String
pub fn available_line(&self) -> String
What the host has available of its memory, as the budget’s host clause and doctor say it: 31G of 64G available.
Source§impl HostMemory
impl HostMemory
Sourcepub fn outside(&self) -> u64
pub fn outside(&self) -> u64
What the host holds outside the slice’s runners, in bytes: its other programs, tmpfs and the kernel, without page cache it can drop.
Sourcepub fn outside_line(&self) -> String
pub fn outside_line(&self) -> String
What holds the host’s memory outside the slice, as the clients say it: programs outside CI hold 30G and,
with holders, , most java 9.3G and qemu-system-x86 5.8G.
Trait Implementations§
Source§impl Clone for HostMemory
impl Clone for HostMemory
Source§impl Debug for HostMemory
impl Debug for HostMemory
Source§impl<'de> Deserialize<'de> for HostMemory
impl<'de> Deserialize<'de> for HostMemory
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl Eq for HostMemory
Source§impl PartialEq for HostMemory
impl PartialEq for HostMemory
Source§impl Serialize for HostMemory
impl Serialize for HostMemory
impl StructuralPartialEq for HostMemory
Auto Trait Implementations§
impl Freeze for HostMemory
impl RefUnwindSafe for HostMemory
impl Send for HostMemory
impl Sync for HostMemory
impl Unpin for HostMemory
impl UnsafeUnpin for HostMemory
impl UnwindSafe for HostMemory
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.