Pokazywanie postów oznaczonych etykietą too many open files. Pokaż wszystkie posty
Pokazywanie postów oznaczonych etykietą too many open files. Pokaż wszystkie posty

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.