abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×

dnes 19:00 | Nová verze

Po více než roce vývoje od vydání verze 1.20.0 byla vydána nová stabilní verze 1.22.0 webového serveru a reverzní proxy nginx (Wikipedie). Nová verze přináší řadu novinek. Podrobný přehled v souboru CHANGES-1.22.

Ladislav Hagara | Komentářů: 0
dnes 18:33 | Nová verze

Desktopová verze svobodného kancelářského balíku OnlyOffice (Wikipedie) byla vydána ve verzi 7.1 (7.1.0). Přehled novinek v příspěvku na blogu a na YouTube. Nejnovější OnlyOffice je již také na Flathubu a Snapcraftu.

Ladislav Hagara | Komentářů: 3
dnes 17:00 | IT novinky

Logitech dnes představil myš MX Master 3S a mechanické klávesnice MX Mechanical a MX Mechanical Mini.

Ladislav Hagara | Komentářů: 11
dnes 11:11 | Komunita

Google zveřejnil seznam 1 212 projektů od 198 organizací přijatých do letošního, již osmnáctého, Google Summer of Code.

Ladislav Hagara | Komentářů: 0
včera 23:33 | Nová verze

Byla vydána nová stabilní verze 3.16.0, tj. první z nové řady 3.16, minimalistické linuxové distribuce zaměřené na bezpečnost Alpine Linux (Wikipedie) postavené na standardní knihovně jazyka C musl libc a BusyBoxu.

Ladislav Hagara | Komentářů: 0
včera 19:33 | IT novinky

NoLog.cz IT kolektiv spustil Nitter.cz. Jedná se o alternativní rozhraní pro Twitter, které nesbírá osobní údaje, nevyžaduje přihlášení a všechny přístupy na Twitter provádí skrz servery NoLog.cz.

Ladislav Hagara | Komentářů: 11
včera 18:44 | Nová verze

Byla vydána nová major verze 15 softwarového nástroje s webovým rozhraním umožňujícího spolupráci na zdrojových kódech GitLab (Wikipedie). Představení nových vlastností i s náhledy a videi v oficiálním oznámení.

Ladislav Hagara | Komentářů: 0
22.5. 23:00 | Nová verze

Po 9 týdnech vývoje od vydání Linuxu 5.17 oznámil Linus Torvalds vydání Linuxu 5.18 (LKML). Přehled nových vlastností a vylepšení na stránce Linux Kernel Newbies.

Ladislav Hagara | Komentářů: 0
22.5. 14:44 | Komunita

V Ubuntu 22.10 s kódovým jménem Kinetic Kudu bude zvukový server PulseAudio nahrazen multimediálním serverem PipeWire.

Ladislav Hagara | Komentářů: 19
21.5. 22:44 | Zajímavý článek

Tavis Ormandy popisuje, jak zprovoznil 32 let starý unixový port tabulkového procesoru Lotus 1-2-3 na moderním Linuxu. Doprovodné zdrojové kódy jsou na GitHubu.

Fluttershy, yay! | Komentářů: 13
Na sociálních sítích nebo jiných webových diskuzích vystupuji pod
 (61%)
 (16%)
 (23%)
Celkem 326 hlasů
 Komentářů: 29, poslední dnes 00:02
Rozcestník


Dotaz: Apache 2 - Cannot allocate memory

vandrovnik avatar 10.1.2017 11:19 vandrovnik | skóre: 21
Apache 2 - Cannot allocate memory
Přečteno: 417×
Ahoj,

mám problém s Apache. Běží na Centos 7 64 bit, stroj má 64 GB RAM. Při větší zátěži se v logu objevují hlášky:
[Tue Jan 10 08:04:52.110976 2017] [mpm_prefork:error] [pid 7629] (12)Cannot allocate memory: AH00159: fork: Unable to fork new process
[Tue Jan 10 08:05:02.121255 2017] [mpm_prefork:error] [pid 7629] (12)Cannot allocate memory: AH00159: fork: Unable to fork new process
.Out of memory (Needed 122280 bytes)
.Out of memory (Needed 105976 bytes)
.Out of memory (Needed 138584 bytes)
[Tue Jan 10 08:05:21.143902 2017] [mpm_prefork:error] [pid 7629] (12)Cannot allocate memory: AH00159: fork: Unable to fork new process
.Out of memory (Needed 32608 bytes)
.Out of memory (Needed 43032 bytes)
Volné paměti by mělo být spousta:
# free
              total        used        free      shared  buff/cache   available
Mem:       65695024     9615456      661172     1787244    55418396    53590956
Swap:       8388604        1384     8387220
Musel jsem zatím v httpd.conf přidat tohle, což samozřejmě není zrovna dobré nastavení (už s MaxClients 100 to mělo opět problém s pamětí):
<IfModule prefork.c>
   StartServers        5
   MinSpareServers     5
   MaxSpareServers     10
   MaxClients          50
   MaxRequestsPerChild 3000
</IfModule>
Můžete mě prosím někdo nakoupnout, co je kde špatně? Možná nějaký limit mimo samotného Apache, ale nevím, kde.

Díky, KR

Odpovědi

10.1.2017 12:39 MP
Rozbalit Rozbalit vše Re: Apache 2 - Cannot allocate memory
Pokud skutecne nic neleakuje, tak bych se kouknul na php/system/atd limity ohledne pametovych parametru.
10.1.2017 12:41 alkoholik | skóre: 39 | blog: Alkoholik
Rozbalit Rozbalit vše Re: Apache 2 - Cannot allocate memory
Jak mas omezene limity?
cat /proc/7629/limits
vandrovnik avatar 10.1.2017 12:58 vandrovnik | skóre: 21
Rozbalit Rozbalit vše Re: Apache 2 - Cannot allocate memory
Teď už jsou jiné ID procesů, výpis tady:
root     23176  0.1  0.0 543156 35248 ?        Ss   09:57   0:13 /usr/sbin/httpd -DFOREGROUND
apache   30898  0.1  0.0 655940 36604 ?        S    12:49   0:00 /usr/sbin/httpd -DFOREGROUND

# cat /proc/23176/limits
Limit                     Soft Limit           Hard Limit           Units
Max cpu time              unlimited            unlimited            seconds
Max file size             unlimited            unlimited            bytes
Max data size             unlimited            unlimited            bytes
Max stack size            8388608              unlimited            bytes
Max core file size        0                    unlimited            bytes
Max resident set          unlimited            unlimited            bytes
Max processes             256534               256534               processes
Max open files            1024                 4096                 files
Max locked memory         65536                65536                bytes
Max address space         unlimited            unlimited            bytes
Max file locks            unlimited            unlimited            locks
Max pending signals       256534               256534               signals
Max msgqueue size         819200               819200               bytes
Max nice priority         0                    0
Max realtime priority     0                    0
Max realtime timeout      unlimited            unlimited            us

# cat /proc/30898/limits
Limit                     Soft Limit           Hard Limit           Units
Max cpu time              unlimited            unlimited            seconds
Max file size             unlimited            unlimited            bytes
Max data size             unlimited            unlimited            bytes
Max stack size            8388608              unlimited            bytes
Max core file size        0                    unlimited            bytes
Max resident set          unlimited            unlimited            bytes
Max processes             256534               256534               processes
Max open files            1024                 4096                 files
Max locked memory         65536                65536                bytes
Max address space         unlimited            unlimited            bytes
Max file locks            unlimited            unlimited            locks
Max pending signals       256534               256534               signals
Max msgqueue size         819200               819200               bytes
Max nice priority         0                    0
Max realtime priority     0                    0
Max realtime timeout      unlimited            unlimited            us
10.1.2017 13:07 alkoholik | skóre: 39 | blog: Alkoholik
Rozbalit Rozbalit vše Re: Apache 2 - Cannot allocate memory
Hmm, na prvni ospaly pohled nic podezreleho.
Budes tam nejspis nekde mit memory leak. Nejdriv zkus snizit MaxRequestsPerChild na 1000. Procesy se budou otacet casteji.
Pak bych zacal zkoumat, co to tam vlastne provozujes. Nejaky mod_php, mod_python nebo tak neco?
vandrovnik avatar 10.1.2017 17:43 vandrovnik | skóre: 21
Rozbalit Rozbalit vše Re: Apache 2 - Cannot allocate memory
Celkem jednoduchou webovou aplikaci napsanou v php, která se připojuje k mariadb. U mariadb jsme ráno měli taky hlášky ohledně paměti, to byla ale nejspíš moje blbost, že jsem po instalaci nezkopíroval vzorový my_něco.conf k ostatním konfiguračním souborům (a během testování jsem si toho nevšimnul, protože s malou zátěží se problém neprojevil). Doplněním konfigurace a restartem mariadb se to spravilo.

I ve chvíli, kdy si httpd neustále stěžoval, že nemůže alokovat svých pár bajtů, ukazoval výpis z free, že má k dispozici přes 53 GB (opravdu GB, né MB). Napadlo mě proto, že se v Centos 7 nově musí nastavit limity pro procesy (přes cgroups?), ale nemůžu najít žádné nastavení, které by teď tu paměť omezovalo.

Vidím to na večerní restart, protože teď to mj. píše:
# systemctl status httpd
Failed to get properties: Connection timed out
(Apache přitom funguje, tuhle hlášku systemctl hodí, i když se ptám na status jiných služeb.)
11.1.2017 08:51 MP
Rozbalit Rozbalit vše Re: Apache 2 - Cannot allocate memory
To, ze je volna pamet neznamena, ze je zaroven i volna pamet o urcite velikosti. Pamet je totiz rozsekana na bloky a kdyz dojde k vycerpani bloku, tak to klidne i spusti OOM killer.
11.1.2017 09:13 R
Rozbalit Rozbalit vše Re: Apache 2 - Cannot allocate memory
Akoze v 53 GB sa nenajde 100KB blok? Dost tazko predstavitelne...
11.1.2017 10:04 MP
Rozbalit Rozbalit vše Re: Apache 2 - Cannot allocate memory

Založit nové vláknoNahoru

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

ISSN 1214-1267   www.czech-server.cz
© 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.