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