swap_pager_getswapspace(32): failed / jak automaticky ukoncit proces?

Miroslav Lachman 000.fbsd at quip.cz
Fri Apr 2 12:01:27 CEST 2021


Dlouho jsem tu nic nepsal, tak vas ted budu zase nejaky cas zasobovat 
ctenim :)

Na nekterych klientskych serverech je malo pameti a relativne casto 
dochazi k jejimu vycerpani vcetne swapu a pak se v logu zacnou objevovat 
hlasky:

<2>1 2021-03-25T14:46:41.725626+01:00 xxx.example.com kernel - - - 
swap_pager_getswapspace(11): failed

Je jasne, ze resenim by bylo navysit RAM, pripadne navysit swap (coz je 
jen takova berlicka pro umirajiciho). Vychazim ale z realneho prostredi, 
kdy RAM navysit nelze (at uz je duvod jakykoliv).
Problem je, ze se v tento okamzik stane stroj napouzitelnym. I kdyz 
system uz nemuze nic odswapovat, nedojde ani k tomu, ze by nejaky ten 
narocny proces zabil, aby mohly fungovat aspon ostatni "slusne" aplikace 
a sluzby.

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?

Pred lety jsem si hral s rctl a zkousel tohle nastavovat na urovni 
celeho jailu, ale zrovna tohle tam nejak moc dobre nefungovalo a muselo 
byt povoleno vyrazne vic, nez kolik tam fyzicky pameti nebo swapu bylo, 
protoze jinak to sestrelovalo procesy prilis brzo.

Nebo by stacilo v /etc/login.conf nastavit swapuse? Pripadne i nejake 
dalsi memorylocked / memoryuse / vmemoryuse?
Otazkou pak je, jak to nastavit. Vim, ze na serverech je ten problem bud 
Apache (respektive PHP skrz mod_php), nebo MySQL pri importu dat, takze 
bych je musel dat do vlastni login class a pro tu nastavit limit na 
swapuse? Priznam se, ze tohle jsem za vice jak 20 let nepouzil.

A obdobny problem mam i na FreeBSD desktopu, kdy se cas od casu zblazni 
browser a zacne zrat velmi rychle zcela nesmyslne mnozstvi pameti, dokud 
nedojde swap a system zatuhne ve stavu, kdy ani NumLock LED na 
klavesnici nefunguje. (konkretne je to ted browser Falkon na KDE5, 
sezere treba 15G pamet + swap, ale driv to byl zase jiny browser, co 
jsem pouzival) Takze tady bych potreboval omezit swap ciste pro Falkon. 
Je pro me lepsi, kdyz system sestreli jen okno browseru, nez aby mi 
zatuhnul cely system vcetne rozdelane prace, neulozeneho dokumentu atd.

Mirek


More information about the Users-l mailing list