fork: Prostredek je docasne nepristupny
Milan Kopacka
mkop5230 na ss1000.ms.mff.cuni.cz
Sobota Prosinec 16 02:11:11 CET 2000
On Fri, 15 Dec 2000, Michal Krause wrote:
> chtel jsem se zeptat, jestli nekdo nevi, co vsechno muze zpusobovat
> hlasku %subj% pri pokusu o spusteni cehokoliv. Stava se mi to na
> serveru a nemohu odhalit pricinu.
> ...
> Pamet nemohu posuzovat, protoze kdyz to nastane, nedari se mi spustit
> free (spis jsem rad, kdyz se podari alespon kill Apache, ktery to vyresi
> - nicmene dotazy na MySQL jdou pres web, takze neni jiste, jestli je na
> vine Apache nebo MySQL). Ted jeste zkousim zvednout limity v
> /proc/sys/vm/freepages (ted dam 1024 2048 4096 pri 256 MiB RAM), treba
> to pomuze.
>
> Dalsi pruvodni znaky jsou:
>
> - bezproblemova odezva drive spustenych programu (treba Mutt, mc, ...)
> - normalni odezvy na ping
> - po zabiti Apache a jeho opetovnem nahozeni zase vse jede bez problemu
> treba nekolik dni
>
> Napadlo by nekoho, na co se jeste zamerit?
Mikulas Patocka na vsech svych prednaskach o Linuxovem memory managementu,
kterych jsem se ucastnil :) upozornoval na to, ze forknuti vyzaduje v
kernelu uceleny 2kB kus pameti na nejakou svou strukturu (proc (?)). Pokud
je pamet dostatecne fragmentovana (provozne - dele bezici stroj s vicemene
zaplnenou pameti), muze se stat, ze proste takovy kus pameti neni (pameti
muze byt klidne dost, ale jen v 1kB kouscich) a pak failuji fork()y.
Zvysovani limitu ve /proc/sys/vm/freepages je nepochybne spravna cesta,
ale vic Vam neporadim. :( (Snad jen.. opravit kernel.) :(
Milan Kopacka
Další informace o konferenci Linux