Memory löschen ohne Grund

FreeBSD, Gentoo, openSUSE, CentOS, Ubuntu, Debian
Post Reply
pennybridge
Posts: 64
Joined: 2002-10-24 21:37
 

Memory löschen ohne Grund

Post by pennybridge »

Auch auf die Gefahr hin das ich mich blamiere:

Was gibt es für Gründe, das mein Rooti einfach den halben RAM löscht?

Hintergrund: Ich hab gerade so per SSH ein paar Sachen erledigt und da
fällt mir auf, das bei 'Uptime' der Load ziemlich hoch ist... dann schau ich
mir /proc/meminfo an und sehe, das die hälfte an RAM frei ist ...

Irgendwelche Ideen?
dea
Posts: 532
Joined: 2002-08-13 12:05
 

Re: Memory löschen ohne Grund

Post by dea »

"Load ziemlich hoch" - was verstehst Du darunter?
Ansonsten hat die "Load" aus 'uptime' oder 'top' nur mäßige Aussagekraft. Sie beschreibt lediglich die Anzahl der angeforderten Operationen pro Zeiteinheit (weiß nicht mehr, welche Einheit). Werte bis zu 3,5 sind noch vollkommen normal (wenn auch hoch), Werte bis über 10 sind auch noch "machbar" und erst ab Werten dauerhaft über 5 würde ich mich mall mit anständiger Performance-Analyse (und den passenden Tools) auseinandersetzen.

Das mit dem RAM ist auch vollkommen ok, wenn der Speicher nicht benötigt wird, wird er auch nicht zwangsläufig belegt. Zu Details siehe auch /usr/src/linux/Documentation/sysctl/vm.txt, da steht auch drin, wie Du das Verhalten des Kernels beeinflussen kannst.
pennybridge
Posts: 64
Joined: 2002-10-24 21:37
 

Re: Memory löschen ohne Grund

Post by pennybridge »

Nabend dea,

gut, war vielleicht unglücklich ausgedrückt.

Auf meinem System läuft eine gut ausgelastete Application und der Load
beträgt normalerweise 0.5 - 1.0 ... und der RAM ist halt voll, normalerweise
sind nur 5-10 mb free. Und das auch auf Dauer.

Ab und zu mal, so alle paar Monate merke ich wie der Server langsamer
antwortet und ich schaue auf den Load. Der liegt dann jenseits der 30 ...
heute hab ich MySQL bei Load 75.0 neu gestartet. Und genau zu dem
Zeitpunkt ist halt auch der RAM nur zu 50% gefüllt, was mich persönlich
schon wundert, wenn der Load so hoch hängt.

Da hab ich natürlich gedacht, das das ganze irgendwie zusammenhängt.
captaincrunch
Userprojekt
Userprojekt
Posts: 7066
Joined: 2002-10-09 14:30
Location: Dorsten
Contact:
 

Re: Memory löschen ohne Grund

Post by captaincrunch »

Um darauf antworten zu können, brauchen wir (mal wieder ;) ) ein paar zusätzliche Angaben :

- wie viel RAM ist in der Kiste ?
- wie viel swap hast du definiert ?

Es klingt fast so, als hätte sich ein Prozess (u.U. durch ein Memeory leak) den gesamten Speicher gezogen, woraufhin dein Kernel wahllos Prozesse killt, um wieder Speicher allekoieren zu können.
DebianHowTo
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc
pennybridge
Posts: 64
Joined: 2002-10-24 21:37
 

Re: Memory löschen ohne Grund

Post by pennybridge »

CaptainCrunch wrote: - wie viel RAM ist in der Kiste ?
- wie viel swap hast du definiert ?
also der server:

Code: Select all


 os     : standard suse 7.2
 ram    : 505.828 kB
 swap   : 265.064 kB
        
 pstree : init-+-atd
               |-cron---2*[cron]
               |-dhcpcd
               |-eth0
               |-httpd-+-41*[cronolog]
               |       |-73*[httpd---file.ext]
               |       `-25*[httpd]
               |-httpd-+-42*[cronolog]
               |       |-26*[httpd]
               |       `-httpd---pstree
               |-inetd---popper
               |-keventd
               |-2*[kjournald]
               |-klogd
               |-6*[mingetty]
               |-mysqld---mysqld---9*[mysqld]
               |-named---named---3*[named]
               |-sendmail
               |-sshd
               |-syslogd
               `-xntpd-+-xntpd---xntpd
                       `-xntpd 

und inszwischen hab ich auch alle möglichen services upgedatet, also
apache, php, mysql ... aber das phänomen taucht immer mal wieder auf
outofbound
Posts: 470
Joined: 2002-05-14 13:02
Location: Karlsruhe City
 

Re: Memory löschen ohne Grund

Post by outofbound »

zeig mal dmesg.
dodolin
Posts: 3840
Joined: 2003-01-21 01:59
Location: Sinsheim/Karlsruhe
Contact:
 

Re: Memory löschen ohne Grund

Post by dodolin »

ram : 505.828 kB
swap : 265.064 kB
Das ist Kacke.

Welcher Kernel? 2.2 oder 2.4?

Man sollte mindestens genausoviel Swap wie RAM nehmen. Ich habe meist sogar doppelt soviel Swap wie RAM.
pennybridge
Posts: 64
Joined: 2002-10-24 21:37
 

Re: Memory löschen ohne Grund

Post by pennybridge »

dodolin wrote:Welcher Kernel? 2.2 oder 2.4?
2.4
dodolin wrote: Man sollte mindestens genausoviel Swap wie RAM nehmen. Ich habe meist sogar doppelt soviel Swap wie RAM.
naja, wenn meine kiste irgendwann mal gespwappt hätte, würde ich das auch
eventuell etwas umschieben, aber der swap ist bis auf < 20 mb immer leer.
auch wenn dieses phänomen auftritt.

an dmesg komm ich gerade wegen proxy net ran, schieb ich nachher nach.

aber ich danke euch schon mal für die hilfe :)
captaincrunch
Userprojekt
Userprojekt
Posts: 7066
Joined: 2002-10-09 14:30
Location: Dorsten
Contact:
 

Re: Memory löschen ohne Grund

Post by captaincrunch »

Man sollte mindestens genausoviel Swap wie RAM nehmen. Ich habe meist sogar doppelt soviel Swap wie RAM.
Darüber streiten sich seit jeher die Geister : swap >= RAM ist im Normalfall aber nur in dem Fall nützlich, wenn die Kiste einen Core-Dump schreibt. Da dieser meist ein Abbild des Speichers zum Zeitpunkt des Crashs ist, sollte der swap halt > dem RAM sein.

Bisher habe ich sonst noch nie einen sinnvollen Grund gesehen, warum das so sein sollte, lasse mich da aber gerne eines besseren belehren ... ;)
DebianHowTo
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc
anyware
Posts: 100
Joined: 2002-11-03 00:21
Location: Berlin
 

Re: Memory löschen ohne Grund

Post by anyware »

Darüber streiten sich seit jeher die Geister : swap >= RAM ist im Normalfall aber nur in dem Fall nützlich, wenn die Kiste einen Core-Dump schreibt. Da dieser meist ein Abbild des Speichers zum Zeitpunkt des Crashs ist, sollte der swap halt > dem RAM sein.

Bisher habe ich sonst noch nie einen sinnvollen Grund gesehen, warum das so sein sollte, lasse mich da aber gerne eines besseren belehren ...
ACK
dodolin
Posts: 3840
Joined: 2003-01-21 01:59
Location: Sinsheim/Karlsruhe
Contact:
 

Re: Memory löschen ohne Grund

Post by dodolin »

Bisher habe ich sonst noch nie einen sinnvollen Grund gesehen, warum das so sein sollte, lasse mich da aber gerne eines besseren belehren ...
Ich will nicht schwören wie aktuell das ist, aber wie wäre es hiermit?
-> http://www.dcoul.de/faq/html/4.html#4.swapspace
dea
Posts: 532
Joined: 2002-08-13 12:05
 

Re: Memory löschen ohne Grund

Post by dea »

Also das mit dem swapspace handhabe ich genauso "lax" - 256 MB sollen meinem rootie reichen ;) (auch permanent < 30 MB belegt und kein Grund für Core-Analysen *g*)

Ansonsten geb' ich Dir recht, 75 ist "hoch" :(

An Deiner pstree-Ausgabe kann ich außer den Mengen an httpd's nichts ungewöhnliches erkennen (kenne mich aber mit dem Indianer auch nicht aus, hat also nix zu heißen).

Hast Du Dein Problem schonmal in einer MySQL-ML geschildert? Mir scheint's nämlich so, als wäre es MySQL-bedingt. Aber das ist auch nur ein verdacht. Die wirklich hohe Load lässt auf übermäßigen I/O schließen, aber auch das ist ein Verdacht.

Mein Tip: Installier' Dir sar/sysstat von Sebastien Godart (http://perso.wanadoo.fr/sebastien.godard/) und beobachte das System eine Weile. Vielleicht helfen Dir die Messungen in der Fehlersuche weiter - bei mir war's schon mal so :)
captaincrunch
Userprojekt
Userprojekt
Posts: 7066
Joined: 2002-10-09 14:30
Location: Dorsten
Contact:
 

Re: Memory löschen ohne Grund

Post by captaincrunch »

dcoul wrote:Da Linux sehr unwillig reagiert, wenn der Speicher ausgeht (es werden der Reihe nach Prozesse gekillt.), sollte du den Swapspace großzügig bemessen.
Ich kann an diesem Satz keinen zwingenden Grund für swap >= RAM sehen ... und wenn die Kiste dir den kompletten Swapspace zuknallt, hast du ganz andere Probleme. Etwas derartiges habe ich genau ein Mal erlebt : ein Daemon hatte ien ziemlich derbes memory leak, aber selbst das (zugegeben swap war == RAM) hat die Kiste nicht instabiler gemacht.

Auch die LKML überzeugt mich nicht wirklich vom "muss" :
lkml wrote:If you do have swap, but it's smaller than your available physical RAM, I suspect that the Linux-2.4 swap pre-allocate may cause that kind of performance degradation earlier than 2.2.x would have. Another way of putting this: in 2.2.x you could use a fairly small swap partition to pick up some of the slack, and in 2.4.x a really small swap-partition doesn't really buy you much anything.
DebianHowTo
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc
dodolin
Posts: 3840
Joined: 2003-01-21 01:59
Location: Sinsheim/Karlsruhe
Contact:
 

Re: Memory löschen ohne Grund

Post by dodolin »

Ich kann an diesem Satz keinen zwingenden Grund für swap >= RAM sehen ...
Du sollst auch nicht nur "diesen Satz" lesen, sondern den ganzen Abschnitt. *grmpf*

Muss ichs also doch reinkopieren, damit es auch jeder ... - Captain - findet?
Auf Grund von technischen Ã?nderungen braucht man bei Kernel 2.4 mehr Swapspace, um den gleichen Effekt zu erzielen, dafür ist er schneller:
Bisher hatte man bei 16 MB RAM und 24 MB Swapspace insgesamt 40 MB adressierbaren Hauptspeicher, die beiden Werte addierten sich also einfach. Bei Kernel 2.4 hat man aber nur das Maximum der beiden Werte, im Beispiel also 24 MB zur Verfügung. Daraus folgt natürlich insbesondere, dass Swapspace kleiner als RAM sinnlos ist. Genauere Erklärungen dazu sind unter http://kt.zork.net/kernel-traffic/kt20010126_104.html#2, http://kt.zork.net/kernel-traffic/kt20010316_111.html#5 und http://kt.zork.net/kernel-traffic/kt20010330_113.html#6 zu finden.
Die 3 Links sind auch interessant.
Auch die LKML überzeugt mich nicht wirklich vom "muss" :
Vielleicht die 3 Links im obigen Abschnitt?

Nur zur Klarstellung: Ich habe keine Ahnung, ob das inzwischen geändert wurde (wie leicht angedeutet) oder nicht. Und ich will nicht behaupten, dass das jetzt die alleinige Wahrheit ist. Aber ich denke, "irgendwas" wird wohl schon dran sein...
anyware
Posts: 100
Joined: 2002-11-03 00:21
Location: Berlin
 

Re: Memory löschen ohne Grund

Post by anyware »

Ich meine irgendwo gelesen zu haben, dass oben geschriebenes inzwischen überholt ist. Kann mich aber leider nicht erinnern wo (ja, ich weiss, ist keine grosse Hilfe)
captaincrunch
Userprojekt
Userprojekt
Posts: 7066
Joined: 2002-10-09 14:30
Location: Dorsten
Contact:
 

Re: Memory löschen ohne Grund

Post by captaincrunch »

Du sollst auch nicht nur "diesen Satz" lesen, sondern den ganzen Abschnitt. *grmpf*
Gelesen hatte ich auch diesen Abschnitt sehr wohl, halte ihn aber auch für etwas überholt. Wer ganz genau über die swap-Mechanismen des Kernels Bescheid wissen möchte, schaue einmal hier : http://www.csn.ul.ie/~mel/projects/vm/g ... ode73.html

Noch ätere "Empfehlungen" zu diesem Thema : http://www.tldp.org/HOWTO/mini/Partitio ... l#SWAPSIZE

Auch dort wird aber nichts darüber erwähnt, dass es "schädlich" ist, swap < RAM zu haben, und wie gesagt : wenn dir ein Prozess auch den gesamten swap zuballert, hast du ganz andere Probleme ...
DebianHowTo
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc
Post Reply