Linux - który oszczędny ramu?

0

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?

0

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.

0

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ć?

0

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.

0

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.

0

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.

0

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?

0

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.

0

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

0

@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

0
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.

1 użytkowników online, w tym zalogowanych: 0, gości: 1