VPS - lighttpd i php5cgi, duże zużycie RAM
: 09 kwietnia 2012, 20:39
Witam.
Z racji zmiany na nowy VPS-a, postanowiłem odchudzić trochę usługi serwerowe, samotnego apacha2 zastąpiłem więc duetem lighttpd i nginx. Niestety ku mojemu zdziwieniu już na starcie (jeszcze bez konfiguracji nginxa) lighttpd czy właściwie współpracujący z nim php5-cgi zaskoczył mnie zjadając prawie całą pamięć RAM. Przypuszczam, że problem leży nie tyle w samym php czy serwerze http, a gdzieś w obsłudze RAM w systemie. Sugeruję się tym, że:
Polecenie free wskazuje, że RAM-u wcale nie brakuje:
Top wskazuje, że php5-cgi i lighttpd wcale tak wiele go nie zużywają:
Pomimo tego, lighttpd loguje błędy braku pamięci, a uruchomienie czegokolwiek z działającym serwerem przeważnie kończy się komunikatem o zbyt małej ilości pamięci do utworzenia wątku.
Jeszcze kilka informacji o systemie:
Serwer działa jeszcze bez podpiętych domen, więc na pewno nie jest to wina zbyt dużego ruchu. W konfiguracji praktycznie nic nie grzebałem poza dodaniem wspomnianego php5-cgi:
Spotkał się ktoś kiedyś z takim problemem? Może trzeba coś więcej pogrzebać przy lighttpd? W zasadzie pierwszy raz się na niego zdecydowałem, a od serwera apache się odwróciłem głównie dlatego, że coraz więcej ramu zużywał.
System jest zaktualizowany do najnowszej wersji z repozytorium stabilnego. Jakby jakieś dodatkowe informacje były potrzebne, to proszę napisać. Z góry dziękuję za pomoc.
Na koniec jeszcze ciekawostka - free po zastopowaniu lighttpd wskazuje 0 zużycie RAM pomimo, że w tle działa cały system i mysqld, sshd itd.:
Z racji zmiany na nowy VPS-a, postanowiłem odchudzić trochę usługi serwerowe, samotnego apacha2 zastąpiłem więc duetem lighttpd i nginx. Niestety ku mojemu zdziwieniu już na starcie (jeszcze bez konfiguracji nginxa) lighttpd czy właściwie współpracujący z nim php5-cgi zaskoczył mnie zjadając prawie całą pamięć RAM. Przypuszczam, że problem leży nie tyle w samym php czy serwerze http, a gdzieś w obsłudze RAM w systemie. Sugeruję się tym, że:
Polecenie free wskazuje, że RAM-u wcale nie brakuje:
Kod: Zaznacz cały
root@h141:/etc/apt# free -m
total used free shared buffers cached
Mem: 200 171 28 0 0 109
-/+ buffers/cache: 62 137
Swap: 0 0 0
Kod: Zaznacz cały
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
458 mysql 20 0 59040 14m 5408 S 0.0 7.3 0:00.72 mysqld
2464 www-data 20 0 32724 7924 2840 S 0.0 3.9 0:00.26 php5-cgi
2456 www-data 20 0 29764 5676 3892 S 0.0 2.8 0:00.00 php5-cgi
2462 www-data 20 0 29764 5676 3892 S 0.0 2.8 0:00.00 php5-cgi
2449 www-data 20 0 29764 5672 3892 S 0.0 2.8 0:00.01 php5-cgi
2459 www-data 20 0 29764 5672 3892 S 0.0 2.8 0:00.00 php5-cgi
738 root 20 0 8388 2844 2300 S 0.0 1.4 0:00.41 sshd
2458 www-data 20 0 29764 2040 256 S 0.0 1.0 0:00.00 php5-cgi
2455 www-data 20 0 29764 2036 256 S 0.0 1.0 0:00.00 php5-cgi
2461 www-data 20 0 29764 2036 256 S 0.0 1.0 0:00.00 php5-cgi
740 root 20 0 4748 1956 1508 S 0.0 1.0 0:00.53 bash
2447 www-data 20 0 6064 1784 820 S 0.0 0.9 0:00.00 lighttpd
266 root 20 0 34464 1316 1020 S 0.0 0.6 0:00.00 rsyslogd
2475 root 20 0 2328 1104 896 R 0.0 0.5 0:00.00 top
729 root 20 0 5488 956 572 S 0.0 0.5 0:00.00 sshd
294 root 20 0 3808 896 708 S 0.0 0.4 0:00.00 cron
1 root 20 0 2028 648 560 S 0.0 0.3 0:00.11 init
341 root 20 0 1744 544 456 S 0.0 0.3 0:00.01 mysqld_safe
459 root 20 0 1668 528 460 S 0.0 0.3 0:00.00 logger
36 root 20 0 104 12 4 S 0.0 0.0 0:00.22 init-logger
2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd/141
3 root 20 0 0 0 0 S 0.0 0.0 0:00.00 khelper/141
Jeszcze kilka informacji o systemie:
Kod: Zaznacz cały
uname -a
Linux h141 2.6.32-7-pve #1 SMP Mon Feb 13 07:33:21 CET 2012 i686 GNU/Linux
Kod: Zaznacz cały
cat /proc/version
Linux version 2.6.32-7-pve (root@oahu) (gcc version 4.3.2 (Debian 4.3.2-1.1) ) #1 SMP Mon Feb 13 07:33:21 CET 2012
Kod: Zaznacz cały
fastcgi.server = ( ".php" => (( "bin-path" => "/usr/bin/php5-cgi", "socket" => "/tmp/php.socket" )))
System jest zaktualizowany do najnowszej wersji z repozytorium stabilnego. Jakby jakieś dodatkowe informacje były potrzebne, to proszę napisać. Z góry dziękuję za pomoc.
Na koniec jeszcze ciekawostka - free po zastopowaniu lighttpd wskazuje 0 zużycie RAM pomimo, że w tle działa cały system i mysqld, sshd itd.:
Kod: Zaznacz cały
free -m
total used free shared buffers cached
Mem: 200 82 117 0 0 82
-/+ buffers/cache: 0 200
Swap: 0 0 0