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