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ý.