CentOS 5, Cern 4, Debian 4 , Debian 5, Fedora 12, ,OpenSuse 11.1, Slackware 12 , Ubuntu 9.04, Ubuntu 9.10
Ktory z nich zostawia mi najwiecej ramu wolnego?
CentOS 5, Cern 4, Debian 4 , Debian 5, Fedora 12, ,OpenSuse 11.1, Slackware 12 , Ubuntu 9.04, Ubuntu 9.10
Ktory z nich zostawia mi najwiecej ramu wolnego?
Ja mam na dosc slabym sprzecie Slackware 13.0 i w sumie to on uzywa okolo 100-150MB u mnie. Tak mi sie wydaje, bo z odpalona przegladarka(firefox), powloka(xterm) i srodowiskiem graficznym(fluxbox) ~200MB mam zajete. Natomiast z doswiadczenia wiem, ze Ubuntu 9.10 zuzywa duzo ramu, podobnie jak Ubuntu 9.4, choc 9.4 juz lepiej wypada pod tym wzgledem. Tak na prawde wszystko zalezy od konfiguracji. Ja na 512MB ramu na tym kompie moge sobie pozwolic na korzystanie z Eclipse(zdarza sie, ze sie zatnie na chwile), wiec chyba Slackware tak duzo nie zabiera. Co do reszty systemow to nie wiem jak to jest.
ah.. gapa ze mnie. Zapomniałem dodać że to na VPS. Obecnie przy zainstalowaniu debiana 5 x64 i ehcp dla hostingu żera mi: 383.99 MB z 512 MB zużyte / 128.01 MB wolne :< Trochę dużo. Da się kilka kb zwolnić?
Dac sie pewnie da. Drastyczny sposob, przekompilowac kernel zostawiajac absolutne minimum. Mniej drastyczny, zobacz moze jakies nie potrzebne rzeczy laduje Ci przy starcie. Moze nie sa potrzebne Ci tez jakies informacje diagnostyczne z logow - sproboj wylaczyc logowanie ich.
Generalnie sam system z krytycznymi deamonami i ssh zajmie ci około 25-40mb ramu. Mi tyle serwerowy debian 5 zabierał zaraz po zainstalowaniu.
Z apache, mysql, serwerem asp.net z mono pod apache, teamspeak, sambą i bindem zabiera mi w sumie 130mb.
Zapewne ten Twój VPS chodzi pod OpenVZ, to generalnie najtańsza opcja na rynku. Wiąże się ona też z tym, że limit pamięci jest ustalany według użycia pamięci wirtualnej. Nie według faktycznej zajętości pamięci, tylko według tego, co, prosto mówiąc, program chce, a nie czego używa. I w ten sposób, wielowątkowy, bezczynny Apache może ci zużyć 150mb na domyślnych ustawieniach - pomimo tego, że faktycznie zużywa raptem kilku megabajtów; reszta to pamięć zarezerwowana na stos każdego z wątków, załadowane biblioteki współdzielone itd.
Odpal sobie top (polecam htop, bardziej "ludzki" w obsłudze) i sprawdź co ile pamięci zabiera (kolumna RES), a ile rezerwuje (VIRT), czyli ile właściwie zużywasz pamięci z perspektywy serwera-matki.
Jednym z najprostszych tricków na zmniejszenie zużycia pamięci w OpenVZ to zmniejszenie domyślnego rozmiaru rezerwowanej pamięci na stos nowego wątku. Domyślnie w Debianie to 8mb, możesz spokojnie zmniejszyć do 128kb. Wpisz w google "openvz ulimit" i będziesz miał kilka tutoriali jak to właściwie zrobić.
Na OpenVZ jądra nie przekompiluje, tak samo jak nie ma w nim swapa.
Miałem w CentOS 5 problem przy 128 MB RAM, Apache bardzo dużo RAM sobie zabierał, przerzuciłem się na lighttpd.
Obecnie zużycie w moim CentOS 5 z lighttpd, postfiksem i sshd wygląda tak:
[ktos@ophelia ~]$ free
total used free shared buffers cached
Mem: 131248 128916 2332 0 83700 21620
-/+ buffers/cache: 23596 107652
Swap: 262136 32 262104
Ale ja mam VPS oparty na Xen, nie OpenVZ.
U mnie to wyglada tak:
vps:~# free
total used free shared buffers cached
Mem: 524288 415704 108584 0 0 0
-/+ buffers/cache: 415704 108584
Swap: 0 0 0
vps:~#
Odpaliłem w wierszu: ulimit -s 256
Chyba o to chodziło z tym limitem. Natopiast jak wpisze samo ulimit, dostaje unlimited
Warning: bad ps syntax, perhaps a bogus '-'? See http://procps.sf.net/faq.html
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.1 10304 740 ? Ss 12:15 0:00 init [2]
root 13943 0.0 0.5 65920 3132 ? Ss 16:49 0:00 sshd: root@nott
root 13950 0.0 0.3 42076 1812 ? Ss 16:49 0:00 /usr/lib/openss
root 13993 0.1 0.6 66812 3248 ? Rs 16:49 0:00 sshd: root@pts/
root 14002 0.0 0.3 17440 1700 pts/1 Ss 16:49 0:00 -bash
root 14017 0.0 0.1 14720 984 pts/1 R+ 16:49 0:00 ps -aux
root 16133 0.0 0.1 5896 664 ? Ss 12:15 0:00 /sbin/syslogd
root 16155 0.0 0.2 48856 1192 ? Ss 12:15 0:00 /usr/sbin/sshd
postfix 16235 0.0 0.4 38888 2196 ? S 15:46 0:00 pickup -l -t fi
root 17497 0.0 0.1 18540 940 ? Ss 12:15 0:00 /usr/sbin/cron
root 21557 0.0 1.1 38492 6068 ? Ss 12:28 0:00 /usr/bin/perl -
root 21672 0.0 0.1 52072 900 ? Ss 12:28 0:00 /usr/sbin/sasla
root 21673 0.0 0.1 52072 644 ? S 12:28 0:00 /usr/sbin/sasla
root 21674 0.0 0.1 52072 620 ? S 12:28 0:00 /usr/sbin/sasla
root 21675 0.0 0.1 52072 620 ? S 12:28 0:00 /usr/sbin/sasla
root 21682 0.0 0.1 52072 620 ? S 12:28 0:00 /usr/sbin/sasla
root 21686 0.0 0.0 6052 464 ? S 12:28 0:00 /usr/sbin/couri
root 21687 0.0 0.2 29592 1256 ? S 12:28 0:00 /usr/lib/courie
root 21688 0.0 0.0 29592 408 ? S 12:28 0:00 /usr/lib/courie
root 21695 0.0 0.0 29592 408 ? S 12:28 0:00 /usr/lib/courie
root 21696 0.0 0.0 29592 408 ? S 12:28 0:00 /usr/lib/courie
root 21698 0.0 0.0 29592 408 ? S 12:28 0:00 /usr/lib/courie
root 21699 0.0 0.0 29592 408 ? S 12:28 0:00 /usr/lib/courie
root 21704 0.0 0.0 6052 380 ? S 12:28 0:00 /usr/sbin/couri
root 21705 0.0 0.1 9228 664 ? S 12:28 0:00 /usr/sbin/couri
root 21729 0.0 0.0 6052 380 ? S 12:28 0:00 /usr/sbin/couri
root 21730 0.0 0.1 9228 664 ? S 12:28 0:00 /usr/sbin/couri
root 21740 0.0 0.0 6052 380 ? S 12:28 0:00 /usr/sbin/couri
root 21741 0.0 0.1 9228 664 ? S 12:28 0:00 /usr/sbin/couri
root 21757 0.0 0.0 6052 380 ? S 12:28 0:00 /usr/sbin/couri
root 21758 0.0 0.1 9228 660 ? S 12:28 0:00 /usr/sbin/couri
root 21951 0.0 0.1 19256 916 ? Ss 12:28 0:00 /usr/sbin/xinet
root 21991 0.0 0.2 21516 1364 ? S 12:28 0:00 /usr/sbin/vsftp
root 24047 0.0 2.0 229984 10728 ? Ss 12:29 0:00 /usr/sbin/apach
www-data 24048 0.0 2.9 236564 15340 ? S 12:29 0:00 /usr/sbin/apach
bind 24109 0.0 2.6 122524 13952 ? Ssl 12:29 0:00 /usr/sbin/named
root 24199 0.0 0.4 36832 2300 ? Ss 12:29 0:00 /usr/lib/postfi
postfix 24201 0.0 0.4 38936 2384 ? S 12:29 0:00 qmgr -l -t fifo
root 24339 0.0 0.2 8880 1268 ? S 12:29 0:00 /bin/sh /usr/bi
mysql 24378 0.0 4.3 178232 22752 ? Sl 12:29 0:00 /usr/sbin/mysql
root 24379 0.0 0.1 3772 588 ? S 12:29 0:00 logger -p daemo
postfix 25617 0.0 0.6 41396 3220 ? S 12:29 0:00 tlsmgr -l -t un
root 25660 0.2 2.2 209212 12040 ? Sl 12:29 0:36 python /etc/ini
root 25662 0.0 0.2 8832 1160 ? S 12:29 0:00 /bin/bash /var/
root 25663 0.0 3.8 179512 19948 ? S 12:29 0:00 php index.php d
www-data 32090 0.0 1.2 229984 6640 ? S 12:31 0:00 /usr/sbin/apach
www-data 32091 0.0 1.3 230328 6948 ? S 12:31 0:00 /usr/sbin/apach
www-data 32092 0.0 1.2 229984 6604 ? S 12:31 0:00 /usr/sbin/apach
www-data 32094 0.0 2.9 237068 15592 ? S 12:31 0:00 /usr/sbin/apach
Można coś niepotrzebnego usunąć? Bind już usunąłem, dns nie jest potrzebny.
ktoś: sam konfigurowałeś ten serwer czy jakiś gotowiec?
Zobacz, 230mb ramu ci apache zajmuje ;). Ten ulimit wstaw przed odpaleniem apache, w skrypcie /etc/init.d/apache i zrób /etc/init.d/apache restart.
poszedłem za twą radą:
http://4programmers.net/Pastebin/895
To moj plik rozruchowy apacza .
Lecz czy pomoglo? Słabo
vps:~# ps aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.1 10304 740 ? Ss 17:11 0:00 init [2]
root 1468 0.0 0.1 5896 664 ? Ss 17:11 0:00 /sbin/syslogd
bind 1509 0.0 2.1 119652 11044 ? Ssl 17:11 0:00 /usr/sbin/named
root 1519 0.0 0.2 48856 1188 ? Ss 17:11 0:00 /usr/sbin/sshd
root 1566 0.0 0.2 17308 1448 ? S 17:11 0:00 /bin/sh /usr/bi
mysql 1606 0.0 4.2 177476 22336 ? Sl 17:11 0:00 /usr/sbin/mysql
root 1607 0.0 0.1 3772 588 ? S 17:11 0:00 logger -p daemo
root 1656 0.0 0.0 6052 464 ? S 17:11 0:00 /usr/sbin/couri
root 1659 0.0 0.2 29592 1252 ? S 17:11 0:00 /usr/lib/courie
root 1664 0.0 0.0 6052 376 ? S 17:11 0:00 /usr/sbin/couri
root 1665 0.0 0.1 9228 664 ? S 17:11 0:00 /usr/sbin/couri
root 1676 0.0 0.0 6052 384 ? S 17:11 0:00 /usr/sbin/couri
root 1677 0.0 0.1 9228 664 ? S 17:11 0:00 /usr/sbin/couri
root 1683 0.0 0.0 6052 380 ? S 17:11 0:00 /usr/sbin/couri
root 1684 0.0 0.1 9228 660 ? S 17:11 0:00 /usr/sbin/couri
root 1697 0.0 0.0 6052 380 ? S 17:11 0:00 /usr/sbin/couri
root 1700 0.0 0.1 9228 664 ? S 17:11 0:00 /usr/sbin/couri
root 1705 0.0 0.0 29592 404 ? S 17:11 0:00 /usr/lib/courie
root 1706 0.0 0.0 29592 404 ? S 17:11 0:00 /usr/lib/courie
root 1708 0.0 0.0 29592 404 ? S 17:11 0:00 /usr/lib/courie
root 1713 0.0 0.0 29592 404 ? S 17:11 0:00 /usr/lib/courie
root 1719 0.0 0.0 29592 404 ? S 17:11 0:00 /usr/lib/courie
root 1759 0.0 1.1 38492 6084 ? Ss 17:11 0:00 /usr/bin/perl -
root 1855 0.0 0.4 36832 2296 ? Ss 17:11 0:00 /usr/lib/postfi
postfix 1875 0.0 0.4 38936 2244 ? S 17:11 0:00 qmgr -l -t fifo
postfix 1876 0.0 0.4 38888 2200 ? S 17:11 0:00 pickup -l -t fi
root 1880 0.0 0.1 52072 904 ? Ss 17:11 0:00 /usr/sbin/sasla
root 1881 0.0 0.1 52072 648 ? S 17:11 0:00 /usr/sbin/sasla
root 1882 0.0 0.1 52072 624 ? S 17:11 0:00 /usr/sbin/sasla
root 1883 0.0 0.1 52072 624 ? S 17:11 0:00 /usr/sbin/sasla
root 1884 0.0 0.1 52072 624 ? S 17:11 0:00 /usr/sbin/sasla
root 1890 0.0 0.2 21516 1356 ? S 17:11 0:00 /usr/sbin/vsftp
root 2031 0.0 0.6 66056 3164 ? Ss 17:11 0:00 sshd: root@nott
root 2034 0.0 0.3 42084 1880 ? Ss 17:11 0:00 /usr/lib/openss
root 3090 0.0 0.1 18540 940 ? Ss 17:11 0:00 /usr/sbin/cron
root 3140 0.2 2.2 209212 12040 ? Sl 17:11 0:00 python /etc/ini
root 3142 0.0 0.2 17260 1336 ? S 17:11 0:00 /bin/bash /var/
root 3155 0.0 3.5 178180 18480 ? S 17:11 0:00 php index.php d
root 7481 0.0 0.6 66056 3172 ? Ss 17:13 0:00 sshd: root@nott
root 7501 0.0 0.3 42076 1876 ? Ss 17:13 0:00 /usr/lib/openss
root 7564 0.0 0.5 65920 3144 ? Ss 17:13 0:00 sshd: root@pts/
root 7585 0.0 0.3 17444 1696 pts/0 Ss 17:13 0:00 -bash
root 7795 0.0 2.0 230048 10768 ? Ss 17:13 0:00 /usr/sbin/apach
www-data 7796 0.0 1.1 230048 6148 ? S 17:13 0:00 /usr/sbin/apach
root 13794 0.0 0.1 14720 980 pts/0 R+ 17:15 0:00 ps aux
@bordeux: To jest czysto moje, czysta instalacja CentOS 5, własnoręcznie konfigurowany i kompilowany lighttpd, własna kompilacja PHP z niezbędnymi modułami*, PHP jako FastCGI oczywiście.
Pokaż swój httpd.conf, może tam będzie można coś dostosować, kolejne ograniczenia jakieś może. PHP jest jako moduł Apache, czy fcgi?
Ewentualnie możesz wyrzucić Apache na rzecz lighttpd, Cherokee czy nginx, ale to będzie się wiązało ze zmianą niektórych rzeczy w rodzaju reguł .htaccess.
[ktos@ophelia ~]$ ps aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.5 2160 724 ? Ss Dec07 0:00 init [3]
[ciach...]
lighttpd 742 0.0 0.7 2456 1040 ? S Dec20 0:00 /usr/local/sbin
lighttpd 743 0.0 3.0 14016 4048 ? Ss Dec20 0:00 /usr/bin/php-cg
lighttpd 745 0.0 3.0 14016 4052 ? Ss Dec20 0:00 /usr/bin/php-cg
lighttpd 746 0.0 1.1 14016 1476 ? S Dec20 0:00 /usr/bin/php-cg
lighttpd 747 0.0 1.1 14016 1480 ? S Dec20 0:00 /usr/bin/php-cg
root 853 0.0 0.4 1812 564 ? Ss Dec07 0:00 syslogd -m 0
root 856 0.0 0.2 1760 392 ? Ss Dec07 0:00 klogd -x
dbus 871 0.0 0.5 2844 664 ? Ss Dec07 0:00 dbus-daemon --s
root 914 0.0 0.8 7196 1064 ? Ss Dec07 0:00 /usr/sbin/sshd
root 984 0.0 1.3 6948 1820 ? Ss Dec07 0:00 /usr/libexec/po
postfix 993 0.0 1.4 7148 1924 ? S Dec07 0:00 qmgr -l -t fifo
root 1002 0.0 0.3 1992 456 ? Ss Dec07 0:00 gpm -m /dev/inp
root 1026 0.0 0.8 3332 1128 ? Ss Dec07 0:00 crond
root 1034 0.0 0.3 2360 444 ? Ss Dec07 0:00 /usr/sbin/atd
root 1043 0.0 0.8 2552 1172 ? Ss Dec07 0:00 /bin/sh
postfix 2869 0.0 1.3 7012 1812 ? S 21:08 0:00 pickup -l -t fi
root 2872 0.0 2.1 10040 2860 ? Ss 22:09 0:00 sshd: ktos [pri
ktos 2874 0.0 1.2 10040 1628 ? S 22:09 0:00 sshd: ktos@pts/
ktos 2875 4.0 1.0 2684 1392 pts/0 Ss 22:09 0:00 -bash
ktos 2895 0.0 0.6 2272 824 pts/0 R+ 22:09 0:00 ps aux
* bo CentOS to taka bardzo zachowawcza i stabilna dystrybucja, a ja wolałem mieć wszystko w najnowszej wersji stabilnej
revik:~# free -m
total used free shared buffers cached
Mem: 2026 969 1057 0 255 578
-/+ buffers/cache: 135 1890
Swap: 2053 0 2053
Tak to na moim Debianie 5 wygląda.