Memory löschen ohne Grund
-
pennybridge
- Posts: 64
- Joined: 2002-10-24 21:37
Memory löschen ohne Grund
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?
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?
Re: Memory löschen ohne Grund
"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.
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
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.
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

- Posts: 7066
- Joined: 2002-10-09 14:30
- Location: Dorsten
- Contact:
Re: Memory löschen ohne Grund
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.
- 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
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc
-
pennybridge
- Posts: 64
- Joined: 2002-10-24 21:37
Re: Memory löschen ohne Grund
also der server:CaptainCrunch wrote: - wie viel RAM ist in der Kiste ?
- wie viel swap hast du definiert ?
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
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
zeig mal dmesg.
Re: Memory löschen ohne Grund
Das ist Kacke.ram : 505.828 kB
swap : 265.064 kB
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
2.4dodolin wrote:Welcher Kernel? 2.2 oder 2.4?
naja, wenn meine kiste irgendwann mal gespwappt hätte, würde ich das auchdodolin wrote: Man sollte mindestens genausoviel Swap wie RAM nehmen. Ich habe meist sogar doppelt soviel Swap wie RAM.
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

- Posts: 7066
- Joined: 2002-10-09 14:30
- Location: Dorsten
- Contact:
Re: Memory löschen ohne Grund
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.Man sollte mindestens genausoviel Swap wie RAM nehmen. Ich habe meist sogar doppelt soviel Swap wie RAM.
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
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc
Re: Memory löschen ohne Grund
ACKDarü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 ...
Re: Memory löschen ohne Grund
Ich will nicht schwören wie aktuell das ist, aber wie wäre es hiermit?Bisher habe ich sonst noch nie einen sinnvollen Grund gesehen, warum das so sein sollte, lasse mich da aber gerne eines besseren belehren ...
-> http://www.dcoul.de/faq/html/4.html#4.swapspace
Re: Memory löschen ohne Grund
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 :)
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

- Posts: 7066
- Joined: 2002-10-09 14:30
- Location: Dorsten
- Contact:
Re: Memory löschen ohne Grund
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.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.
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
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc
Re: Memory löschen ohne Grund
Du sollst auch nicht nur "diesen Satz" lesen, sondern den ganzen Abschnitt. *grmpf*Ich kann an diesem Satz keinen zwingenden Grund für swap >= RAM sehen ...
Muss ichs also doch reinkopieren, damit es auch jeder ... - Captain - findet?
Die 3 Links sind auch interessant.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.
Vielleicht die 3 Links im obigen Abschnitt?Auch die LKML überzeugt mich nicht wirklich vom "muss" :
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...
Re: Memory löschen ohne Grund
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

- Posts: 7066
- Joined: 2002-10-09 14:30
- Location: Dorsten
- Contact:
Re: Memory löschen ohne Grund
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.htmlDu sollst auch nicht nur "diesen Satz" lesen, sondern den ganzen Abschnitt. *grmpf*
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
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc