Apache: poruka "resource temporarily unavailable"

Javilo se nekoliko kolega sa sličnim problemima u radu web poslužitelja Apache. Naime, apache se nakon pokretanja ruši, ne radi stabilno i općenito ne radi pouzdano, pa ni monit ne može trajno pomoći (a ni nije mu namjena da stalno podiže neispravne servise). U logovima nalazimo prilično čudne zapise:

[Fri Jan 18 13:29:36 2013] [alert] (11)Resource temporarily unavailable: setuid: unable to change to uid: 33
[Fri Jan 18 13:29:36 2013] [alert] (11)Resource temporarily unavailable: setuid: unable to change to uid: 33
[Fri Jan 18 13:29:36 2013] [alert] Child 26157 returned a Fatal error... Apache is exiting!
[Fri Jan 18 13:29:36 2013] [emerg] (22)Invalid argument: couldn't grab the accept mutex

Ovo je prvi put da smo se susreli s ovim tipom greske, ali Google je pronasao dva rješenja. Prvi je recept promjena mutexa, koji se može pronaći na adresi http://tinyurl.com/byc4tga. Dovoljno je u datoteku /etc/apache2/apache.conf upisati sljedeće i restartati apache:

AcceptMutex fcntl

Čini se da se greška zna dogoditi kada apache naiđe na neki limit u resursima (broj dopuštenih otvorenih datoteka ili memorijski limit). Ukoliko gornji recept ne pomogne, možete probati promijeniti limite pomoću naredbe ulimit, koju ćete upisati negdje na početak datoteke /etc/init.d/apache2:

#!/bin/sh
ulimit -u 150
ulimit -n 65535
set -e

Sličan savjet smo našli na službenim stranicama projekta Apache: http://httpd.apache.org/docs/2.4/vhosts/fd-limits.html.

Alternativno, postoji bolje mjesto za postavljanje vrijednosti maksimalnog broja otvorenih datoteka, a to je u /etc/apache2/envvars:

APACHE_ULIMIT_MAX_FILES="ulimit -n 65535"

Nadamo se da će vam neki od gornjih savjeta pomoći.

 

 

Kuharice: 
Kategorije: 
Vote: 
4
Vaša ocjena: Nema Average: 4 (1 vote)

Komentari

Iz kojeg je točno loga ovaj dio u članku?.Meni povremeno isto monit alert javi ispad apache servera i njegov ponovni pokret.

Pomislio sam da ima veze sa ovim opisom u članku.