swap_pager_getswapspace(32): failed / jak automaticky ukoncit proces?
Dan Lukes
dan at obluda.cz
Fri Apr 2 19:26:44 CEST 2021
On 2.4.2021 12:01, Miroslav Lachman wrote:
> <2>1 2021-03-25T14:46:41.725626+01:00 xxx.example.com kernel - - -
> swap_pager_getswapspace(11): failed
> Otazka tedy zni, jakym nastavenim v systemu bych mohl zajistit, aby
> zadny proces nemohl pouzit vic nez X MB swapu a pokud se o to pokusi,
> tak aby ho system sestrelil?
Hacek je, ze zadny proces swap nepouziva. Proces proste pozaduje pamet a
dostane (pripadne nedostane) ji. To, ktera cast virtualni pameti je
aktualne mapovana v pameti fyzicke, ktera ve swapu - a ktera pripadne
nikde je primarne zalezitost OS, byt' proces to za urcitych okolnosti
muze castecne ovlivnit (madvise, RLIMIT_RSS)..
Uvedom si, ze proces muze zalezt do hloubeji swapu nikoliv jen tim, ze
hce nejakou pamet, ale docela klidne tim, ze pamet zacne ve vetsi mire
pouzivat uplne jiny proces a OS usoudi, ze neuzivanou cast pameti tohoto
procesu myze vyswapovat. Proces tak ke zvysenemu uzivani swapu muze
prijit jak "slepej k houslim", dokocne v ty chvili ani nemusi bezet (a
dokonce je to prave v takovem pripade pravdepodobnejsi).
To po cem volas tak neprinese ten vysledek ktert bysis pral.
Zdroje procesu lze limitovat co se tyce mnozstvi pameti, ktere proces
smi pouzivat, nikoliv vsak podle toho, kde se ta pamet vezme (man
setrlimit / RLIMIT_DATA a pripadne RLIMIT_MEMLOCK).
Ve vztahu ke swapu muzes prohlasit proces za chraneny (man protect) a
tim zabranit tomu, aby byl pri "swap exhausted" zabit. Dale muzes pro
jednotlivy proces nastavit velikost pameti pri jejimz prekroceni bude
"pamet nad limit" ochotneji odswapovavana (man setrlimit / RLIMIT_RSS).
Muzes omezit mnozstvi SWAPu pouzite v souctu vsemi procesy jednoho
uzivatele (man setrlimit / RLIMIT_SWAP), ale jednak nejprve musis
zmenit defaultni hodnotu vm.overcommit a druhak, je to per uzivatel,
nikoliv per proces.
> A obdobny problem mam i na FreeBSD desktopu, kdy se cas od casu zblazni
> browser a zacne zrat velmi rychle zcela nesmyslne mnozstvi pameti
Omez mu mnozstvi pameti, neres specificky swap.
On 2.4.2021 15:25, Marek SOUDNY wrote:
> Mne system po chvili ten nenazranej proces ukonci
Pravdepodobne, ale nikoliv nutne.
Obet systemu nemusi byt nejaktivnejsi proces, jakkoli to je pomerne
rpavdepodobne, ale muze to byt i nejaky hodny a skromny proces, ktery
mel proste jen tu smulu, ze ackoliv pameti nikdy moc nechce, zrovna ted
si o tu svoji trochu rekl v nevhodnou chvili ...
Dan
More information about the Users-l
mailing list