Sobes.tech
Middle

Ako systém určuje, ktorý proces ukončiť?

sobes.tech AI

Odpoveď od AI

Systém používa algoritmus na detekciu nedostatku pamäte (Out-of-memory killer, OOM killer), aby ukončil procesy s cieľom uvoľniť zdroje. Každý proces má prioritu založenú na jeho stave a komponentoch:

  • Proces v popredí: Aktivita, s ktorou používateľ komunikuje. Najvyššia priorita.
  • Viditeľný proces: Aktivita viditeľná na obrazovke, ale nie v popredí (napríklad dialógové okno). Vysoká priorita.
  • Proces služby: Bežiaca služba (napríklad prehrávanie hudby na pozadí). Nižšia priorita ako viditeľný proces.
  • Cache proces: Proces bez aktívnych komponentov, ktorý môže byť reštartovaný. Najnižšia priorita.

OOM killer najskôr ukončí procesy s najnižšou prioritou (Cache proces), potom prejde na procesy služby a tak ďalej, kým nebude dostatok voľnej pamäte.

Zohľadňujú sa tiež:

  • Čas od poslednej aktivity procesu: "Staršie" procesy s nízkou prioritou sa ukončia ako prvé.
  • Množstvo používané pamäte: Procesy, ktoré spotrebúvajú veľa pamäte, môžu byť ukončené skôr, aj keď ich priorita je vyššia ako iných, ktorí používajú menej zdrojov.

Systém sa snaží udržať odozvu a stabilitu ukončovaním procesov spôsobom, ktorý je pre používateľa najmenej škodlivý.