Portál AbcLinuxu, 13. května 2025 22:41

Dotaz: Apache : (11)Resource temporarily unavailable...

6.10.2007 16:44 ja_kral_ll | skóre: 17
Apache : (11)Resource temporarily unavailable...
Přečteno: 569×
Odpovědět | Admin

Nejdřív bych chtěl předeslat že vím že se pokouším o naprosto potrhlou věc kterou možná ještě nikdo neviděl v provozu, ale chci jen zkusit zda je toto řešení realizovatelný. A tak doufám že mě nebudete hned linčovat :D

O co vlastně jde :

Snažim se rozjet hodně Apachů v chrootech. Celý to mám podchycený perlovskejma skriptama který vytvoří jail pro Apache nalinkujou do něj vše potřebné, zapíšou do databáze že byl vytvořen jail a nakonec nakopnou samotnej server. Takže v samotnym jailu jsou jen 2 soubory, httpd.conf a httpd. Zbytek jsou hardlinky na soubory který spolu sdílej všechny servery.


Vše funguje výborně až do doby kdy běží společně asi 23 serverů. Apache prostě odmítaj naskočit do logu jen několikrát zapíšou

(11)Resource temporarily unavailable: apr_thread_create: unable to create worker thread


A zdechnou

Zde je ulimit :

core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 20
file size               (blocks, -f) unlimited
pending signals                 (-i) 1023
max locked memory       (kbytes, -l) 32
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1024
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) 1023
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited
A zde ještě sysctl:
sysctl fs.file-nr
fs.file-nr = 1232       0       11936

I když v ulimit dám vše na unlimited tak se nic nezmění. RAMka je sice skoro plná ale SWAP je zase skoro prázdnej. Snad ještě dodám že se jedná o Archlinux a Apache 2.2.4

Děkuji všem za pomoc při žešení tohoto zapeklitého problému :)
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

7.10.2007 14:16 Petr Zajíc | skóre: 9
Rozbalit Rozbalit vše Re: Apache : (11)Resource temporarily unavailable...
Odpovědět | | Sbalit | Link | Blokovat | Admin
Kdybych chtěl selským rozumem přijít na to, jestli je to tou pamětí tak server stopnu, nějakou paměť přídám (nebo uberu) a zjistím, jestli k problému nedojde později (nebo dřív). Je to sice amatérizmus, ale účel světí prostředky, ne?
7.10.2007 15:34 ja_kral_ll | skóre: 17
Rozbalit Rozbalit vše Re: Apache : (11)Resource temporarily unavailable...
Děkuji všem za pomoc !

Zkusil jsem tuto možnost prověřit trochu jinak, do všech nově spouštěných apachů loaduju mod_php. Najednou jich najede jenom 11...

michich avatar 7.10.2007 14:45 michich | skóre: 51 | blog: ohrivane_parky
Rozbalit Rozbalit vše Re: Apache : (11)Resource temporarily unavailable...
Odpovědět | | Sbalit | Link | Blokovat | Admin
Používáš MPM worker? Měnil jsi nějak parametry jako počet threadů nebo velikost zásobníku? Jak máš nastavený /proc/sys/vm/overcommit_memory?
7.10.2007 15:43 ja_kral_ll | skóre: 17
Rozbalit Rozbalit vše Re: Apache : (11)Resource temporarily unavailable...

Ano, je to MPM worker s defaultnim nastavenim. A v /proc/sys/vm/overcommit_memory je 0. Zkusil jsem si hrát s /proc/sys/vm/swappiness, ale i když jsem tam dal 100 tak se choval furt stejně. S mod_php jich najelo furt jen 11...

Jen ještě trochu upřesním technický parametry mého testovacího stroje :
[root@server ~]# free -m
             total       used       free     shared    buffers     cached
Mem:           123        120          2          0         26         41
-/+ buffers/cache:         52         70
Swap:         2744         95       2648

hodnoty jsou se 14 pěžícími apachy a se 100 v /proc/sys/vm/swappiness
michich avatar 7.10.2007 19:35 michich | skóre: 51 | blog: ohrivane_parky
Rozbalit Rozbalit vše Re: Apache : (11)Resource temporarily unavailable...
Zkus snížit nastavení ThreadsPerChild a StartServers.
8.10.2007 01:24 ja_kral_ll | skóre: 17
Rozbalit Rozbalit vše Re: Apache : (11)Resource temporarily unavailable...

Dnes to určitě zkusim.

Ale napadla mě jiná věc. Skoro vůbec nerozumim správě paměti, ale neni nějaký omeznení jaký data můžou bejt ve SWAPu a jaký musí bejt v RAM ? A když dojde RAMka tak jádro nedovolí alokovat další paměť a apache se složí.

Nebo jsou SWAP a RAM naprosto rovnoprávný ? Jen s tim rozdílem že SWAP je šíleně pomalej.
michich avatar 8.10.2007 08:43 michich | skóre: 51 | blog: ohrivane_parky
Rozbalit Rozbalit vše Re: Apache : (11)Resource temporarily unavailable...
Kernel a jeho datové struktury se neswapují.
8.10.2007 09:56 ja_kral_ll | skóre: 17
Rozbalit Rozbalit vše Re: Apache : (11)Resource temporarily unavailable...
Ten by ale neměl nějak významě "kynout" v průběhu testu.
michich avatar 8.10.2007 12:03 michich | skóre: 51 | blog: ohrivane_parky
Rozbalit Rozbalit vše Re: Apache : (11)Resource temporarily unavailable...
Jak to že ne? Pro každou spuštěnou úlohu potřebuje mít přinejmenším task_struct (a související struktury) a kernel stack.
michich avatar 8.10.2007 12:05 michich | skóre: 51 | blog: ohrivane_parky
Rozbalit Rozbalit vše Re: Apache : (11)Resource temporarily unavailable...
Ukaž ještě, co je v /proc/meminfo, když už se další Apache nechtějí spustit.
8.10.2007 17:54 ja_kral_ll | skóre: 17
Rozbalit Rozbalit vše Re: Apache : (11)Resource temporarily unavailable...
Zde je ten /proc/meminfo
MemTotal:       126016 kB
MemFree:          4252 kB
Buffers:         42464 kB
Cached:          45896 kB
SwapCached:        940 kB
Active:          49820 kB
Inactive:        41784 kB
HighTotal:           0 kB
HighFree:            0 kB
LowTotal:       126016 kB
LowFree:          4252 kB
SwapTotal:     2810264 kB
SwapFree:      2707480 kB
Dirty:             164 kB
Writeback:           0 kB
AnonPages:        2916 kB
Mapped:           7392 kB
Slab:            11360 kB
SReclaimable:     6244 kB
SUnreclaim:       5116 kB
PageTables:       5548 kB
NFS_Unstable:        0 kB
Bounce:              0 kB
CommitLimit:   2873272 kB
Committed_AS:  8646004 kB
VmallocTotal:   901112 kB
VmallocUsed:      3984 kB
VmallocChunk:   897004 kB
7.10.2007 16:49 ja_kral_ll | skóre: 17
Rozbalit Rozbalit vše Re: Apache : (11)Resource temporarily unavailable...
Odpovědět | | Sbalit | Link | Blokovat | Admin
Právě jsem rozjel stejnej systém na mnohem výkonějšim stroji s 1 Gb RAM a stejnej problém se dostavil až při 150 jedoucích apachích, s použitim swapu samozřejmě...

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.