pub struct HostBudget {
pub memory: HostMemory,
pub limit: u64,
pub spare: u64,
pub stalled: bool,
}Expand description
What the host’s memory leaves the runners (ADR 0055). New runners fit in the lower of MemoryMax and
limit; running ones are never stopped for it.
Fields§
§memory: HostMemoryThe reading it comes from.
limit: u64What the slice may hold now: what its runners hold without page cache plus the host’s MemAvailable, less
a margin kept free for the host’s page cache.
spare: u64What that leaves new runners beside what the running ones reserve, in bytes.
stalled: boolWhether the host’s tasks stall for memory (full pressure), so no runner starts until they stop.
Implementations§
Source§impl HostBudget
impl HostBudget
Sourcepub fn line(&self) -> String
pub fn line(&self) -> String
The host’s line as clients show it, such as host: 31G of 64G available, 1.5% stalled for memory; leaves the slice 40G or, while it stalls, …; stalling, so no runner starts; with programs outside the slice large
enough to name, …; programs outside CI hold 30G, most java 9.3G (HostMemory::outside_line).
Trait Implementations§
Source§impl Clone for HostBudget
impl Clone for HostBudget
Source§impl Debug for HostBudget
impl Debug for HostBudget
Source§impl<'de> Deserialize<'de> for HostBudget
impl<'de> Deserialize<'de> for HostBudget
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 HostBudget
Source§impl PartialEq for HostBudget
impl PartialEq for HostBudget
Source§impl Serialize for HostBudget
impl Serialize for HostBudget
impl StructuralPartialEq for HostBudget
Auto Trait Implementations§
impl Freeze for HostBudget
impl RefUnwindSafe for HostBudget
impl Send for HostBudget
impl Sync for HostBudget
impl Unpin for HostBudget
impl UnsafeUnpin for HostBudget
impl UnwindSafe for HostBudget
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.