niedziela, 27 lutego 2011

too many open files, Apache error_log

Ostatnio miałem problem, na jednym z serwerów przestał działać serwer WWW apache.
Próby restartu nic nie dawały, spróbowałem też wykonać restart iptables i też nie pomogło.
Z pomocą przyszło mi polecenie ulimit.

Cała składnia polecenia jest dokładnie opisana na stronie http://linux.about.com/library/cmd/blcmdl1_ulimit.htm - warto na nią zaglądać, zawiera wiele ciekawych artykułów.


W celu wyświetlenia jakie parametry są obecnie ustawione należy posłużyć się poleceniem:
ulimit -a

core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 20
file size (blocks, -f) unlimited
pending signals (-i) 16382
max locked memory (kbytes, -l) 64
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) unlimited
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited



Wiersz "open files (-n) 1024" mówi nam o tym ile można mieć otwartych plików.

W celu rozwiązania tego problemu wystarczyło w moim przypadku wpisać:
ulimit -n 2048

Następnie wpisałem ulimit -a:
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 20
file size (blocks, -f) unlimited
pending signals (-i) 16382
max locked memory (kbytes, -l) 64
max memory size (kbytes, -m) unlimited
open files (-n) 2048
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) unlimited
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited


Pozostał jeszcze tylko restart Apacha i wszystko zaczęło działać poprawnie.

Brak komentarzy:

Prześlij komentarz