Update idle time configuration to improve resource management
- Reduced default values for IDLE_MINUTES from 60 to 30 and IDLE_GRACE_MINUTES from 90 to 45 across configuration files and documentation. - Updated related documentation to reflect the new default idle time settings, ensuring consistency in user guidance and system behavior.
This commit is contained in:
@@ -133,7 +133,7 @@ Killer молчит:
|
||||
|
||||
Учётные данные на VM: application credential (или роль без `compute:create`), только delete/shelve. Файл не попадает в Output/Models. Истечение кредов = killer слеп; тогда спасает `gpu-rent status` с ноутбука.
|
||||
|
||||
Дефолты: `IDLE_MINUTES=60`, `IDLE_GRACE_MINUTES=90`.
|
||||
Дефолты: `IDLE_MINUTES=30`, `IDLE_GRACE_MINUTES=45`.
|
||||
|
||||
## Watchdog туннеля (на ноутбуке)
|
||||
|
||||
|
||||
+2
-2
@@ -201,8 +201,8 @@ FLAVOR_FALLBACK=true
|
||||
SCAN_POOLS=ru-6,ru-7
|
||||
DEFAULT_SPOT=true
|
||||
KEEP_FLOATING_IP=false
|
||||
IDLE_MINUTES=60
|
||||
IDLE_GRACE_MINUTES=90
|
||||
IDLE_MINUTES=30
|
||||
IDLE_GRACE_MINUTES=45
|
||||
# LOCAL_WATCHDOG_GRACE_MINUTES=10
|
||||
PULL_OUTPUT=false
|
||||
NOTIFY_READY=true
|
||||
|
||||
+1
-1
@@ -87,7 +87,7 @@ ComfyUI в `dlbackend` качается всегда. Речь только о *
|
||||
8. Первый старт SwarmUI (папки чекпоинтов уже не пустые → установщик не предлагает свой SD; Extensions и Autocompletions уже на месте).
|
||||
9. Ждать backend Idle, затем вооружить idle-killer.
|
||||
|
||||
Качание нескольких GB легко длиннее льготы 90 минут. Поэтому killer не живёт, пока не закончился seed.
|
||||
Качание нескольких GB легко длиннее льготы 45 минут. Поэтому killer не живёт, пока не закончился seed.
|
||||
|
||||
Позже тот же код: `gpu-rent seed-models` — докачать новые строки манифеста на уже живой диск (идемпотентно).
|
||||
|
||||
|
||||
@@ -10,4 +10,4 @@
|
||||
- App cred с узкими access_rules на Selectel: код fail closed; на spike убедиться, что Keystone принимает rules.
|
||||
- Snapshot attached boot после Idle: время; create from snapshot ок.
|
||||
|
||||
Если 90 мин льготы мало на первый Comfy — подними `IDLE_GRACE_MINUTES`, не отключай killer.
|
||||
Если 45 мин льготы мало на первый Comfy — подними `IDLE_GRACE_MINUTES`, не отключай killer.
|
||||
|
||||
+1
-1
@@ -273,7 +273,7 @@ copy models.example.yaml models.yaml
|
||||
- **GPU** — пока жив compute.
|
||||
- **Data-диск** — тарифицируется **всегда** после создания.
|
||||
- Preemptible ~**24 ч** → `EXPIRED`; `tunnel` или `up` восстановят.
|
||||
- Idle-killer: после льготы (~90 мин) + ~60 мин пустой очереди → delete compute.
|
||||
- Idle-killer: после льготы (~45 мин) + ~30 мин пустой очереди → delete compute.
|
||||
- Цены в OpenStack API нет — смотри панель Selectel.
|
||||
|
||||
Дальше: чеклист живого прогона [spike-notes.md](spike-notes.md), справочник команд [cli.md](cli.md).
|
||||
|
||||
+2
-2
@@ -72,8 +72,8 @@ FLAVOR_FALLBACK=true
|
||||
SCAN_POOLS=ru-6,ru-7
|
||||
DEFAULT_SPOT=true
|
||||
KEEP_FLOATING_IP=false
|
||||
IDLE_MINUTES=60
|
||||
IDLE_GRACE_MINUTES=90
|
||||
IDLE_MINUTES=30
|
||||
IDLE_GRACE_MINUTES=45
|
||||
# Optional local safety net (after: gpu-rent watchdog install)
|
||||
# LOCAL_WATCHDOG_GRACE_MINUTES=10
|
||||
PULL_OUTPUT=false
|
||||
|
||||
@@ -19,8 +19,8 @@
|
||||
# SWARMUI_LOCAL_PORT=17801
|
||||
# DATA_VOLUME_SIZE_GB=100
|
||||
# ENABLE_SWARMUI=true
|
||||
# IDLE_MINUTES=60
|
||||
# IDLE_GRACE_MINUTES=90
|
||||
# IDLE_MINUTES=30
|
||||
# IDLE_GRACE_MINUTES=45
|
||||
# NOTIFY_READY=true
|
||||
# UP_STOP_ON_FAIL=true # при падении up гасить GPU (default); false / --keep-on-fail
|
||||
# Prefer auto /32 (leave unset). Spike/WARP only:
|
||||
|
||||
@@ -255,8 +255,8 @@ def load_config(*, require_auth: bool = True) -> Config:
|
||||
scan_pools=(os.environ.get("SCAN_POOLS") or "ru-6,ru-7").strip(),
|
||||
default_spot=_as_bool(os.environ.get("DEFAULT_SPOT"), True),
|
||||
keep_floating_ip=_as_bool(os.environ.get("KEEP_FLOATING_IP"), False),
|
||||
idle_minutes=_as_int(os.environ.get("IDLE_MINUTES"), 60),
|
||||
idle_grace_minutes=_as_int(os.environ.get("IDLE_GRACE_MINUTES"), 90),
|
||||
idle_minutes=_as_int(os.environ.get("IDLE_MINUTES"), 30),
|
||||
idle_grace_minutes=_as_int(os.environ.get("IDLE_GRACE_MINUTES"), 45),
|
||||
pull_output=_as_bool(os.environ.get("PULL_OUTPUT"), False),
|
||||
notify_ready=_as_bool(os.environ.get("NOTIFY_READY"), True),
|
||||
# Default on: failed up must not leave a billing GPU running.
|
||||
|
||||
@@ -242,7 +242,7 @@ def main() -> int:
|
||||
|
||||
now = time.time()
|
||||
grace_from = float(creds.get("grace_from") or 0)
|
||||
grace_minutes = float(creds.get("grace_minutes") or 90)
|
||||
grace_minutes = float(creds.get("grace_minutes") or 45)
|
||||
if now < grace_from + grace_minutes * 60:
|
||||
left = int(grace_from + grace_minutes * 60 - now)
|
||||
log(f"grace {left}s left")
|
||||
@@ -269,7 +269,7 @@ def main() -> int:
|
||||
log(f"busy: {llm_detail}")
|
||||
return 0
|
||||
|
||||
idle_minutes = float(creds.get("idle_minutes") or 60)
|
||||
idle_minutes = float(creds.get("idle_minutes") or 30)
|
||||
since = read_ts(IDLE_SINCE)
|
||||
if since is None:
|
||||
write_ts(IDLE_SINCE, now)
|
||||
|
||||
Reference in New Issue
Block a user