budgeted agents throttle at 90% of the cap; alert on repeated oom kills
This commit is contained in:
parent
c014b48c22
commit
11393bc538
1 changed files with 201 additions and 27 deletions
|
|
@ -383,7 +383,8 @@ pub enum PrivRequest {
|
|||
|
||||
/// Write `/run/systemd/system/container@<container>.service.d/hyperhive-limits.conf`
|
||||
/// with `[Service]` carrying `MemoryMax=` / `CPUQuota=` (hard caps) and
|
||||
/// `CPUWeight=` / `IOWeight=` (cgroup v2 relative shares, contention-only),
|
||||
/// `MemoryHigh=` (throttle point below `MemoryMax=`), `CPUWeight=` / `IOWeight=`
|
||||
/// (cgroup v2 relative shares, contention-only),
|
||||
/// and an `ExecStartPre=` that runs `hive-priv check-rootfs <container>`
|
||||
/// to refuse a start over a root with links where the start script
|
||||
/// expects directories. The build that line names is rooted under
|
||||
|
|
@ -404,6 +405,12 @@ pub enum PrivRequest {
|
|||
/// `cpu_weight`.
|
||||
#[serde(default)]
|
||||
io_weight: Option<u32>,
|
||||
/// `MemoryHigh=` in bytes: the point where the kernel throttles the
|
||||
/// container and reclaims from it before `memory_max` kills in it.
|
||||
/// `None` omits the line, which is what a hive-c0re built before this
|
||||
/// field existed sends, and what an unbudgeted container gets.
|
||||
#[serde(default)]
|
||||
memory_high: Option<u64>,
|
||||
},
|
||||
|
||||
/// Remove `/run/systemd/system/container@<container>.service.d/` if present,
|
||||
|
|
|
|||
Loading…
Reference in a new issue