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