Arbeitsspeicher manuell freigeben?

GeekGirl

GeekGirl

voll das krasse Bunny
Hi Leutz,

habe den halben Vormittag damit verbracht, herauszufinden, wie man manuell veranlasst, dass ein Teil des Arbeitsspeichers "leergeswapped" wird... leider war nix zu finden. Wenn ich mit "free" die Ressoucen anzeigen lasse, steht da laufend weniger freier RAM.

Meine vorübergehende Abhilfe bestand in der Zuhilfenahme eines Windows-Tools namens "SuperRAMBooster" mit Wine (kein Joke!). Das hat sogar geklappt, wider erwartens sogar recht gut, urplötzlich war 80% des vorher fast vollen RAMs wieder leer :)

Jetzt frage ich mich, ob das nicht auch so möglich ist, es ist mir prinzipiell zuwider, das mithilfe einer Windows-Software (noch dazu kommerzielle Trial) zu machen...

Lösungen/Vorschläge?

Gruss,
GeekGirl
(gleich auf dem Weg in die Schule)
 
Hi GeekGirl,

unter *nix brauchst Du kein Tool, um den Speicher freizuschaufeln. *nix verwendet, sofern der Rechner über längere Zeit läuft, immer den (fast) kompletten Speicher. Ein Teil des Speichers wird dabei immer zum Cachen verwendet. Je nachdem, wieviele Prozesse auf deinem System laufen und wieviel Speicher sie benötigen, wird dieser Cache dynamisch vergrößert oder verkleinert. (Siehe: free oder top)

Wenn du bei top "m" tippst, dann siehst du evtl. Speicherfresser.

Ansonsten laß die Maschine einfach laufen - sie macht das Memorymanagement schon richtig - im Gegensatz zu manch anderen OS.

Gruß, Jobi
 
Jo genau das Verhalten hat mich am Anfang auch etwas erschreckt, aber wieviel wirklich verwendet wird von RAM kannst du auslesen mit
Code:
free -m

total used free shared buffers cached
Mem: 503 273 230 0 11 133
-/+ buffers/cache: 128 375
Swap: 172 0 172

-/+ buffers/cache: 128 375

also 128MB sin verwendet und die restlichen 375 sind Free - ( alles natürlich recht ungünstig gerundet :) ) .
 
danke :)

danke euch beiden :)
mich hat das halt stutzig gemacht, weil mein System so gut wie nie swapped, ich aber meist nach einiger Zeit nur noch 3-4 MB frei habe, auch wenn kaum noch ein Programm läuft... ich werd bei Gelegenheit nochmal meine Konfig. durchgehen, vielleicht find ich ja noch was :)

Ergänzung: top -m funzt bei mir nicht, und free -m ist nicht wirklich was anderes als free ohne -m, was ich ja gemacht hatte... mir fehlt einfach der entscheidende Tipp, wieso mein System immer erst kurz vor dem Totalfreeze swapped, manchmal hängt er sich übrigens auch bei harmlosen Aufgaben auf und dann kommt er wirklich nicht mehr von der Plattenaktivität weg.

Das können dann schon mal 35 Minuten Klöppeln auf der Platte sein, während derer gar nix mehr geht, bis ich die Geduld verlier und den Stecker zieh (Austaste is dann nämlich auch blockiert). Also muss bei mir irgendwo der Wurm drin sein :(

Das hätte ich wohl noch dazusagen sollen...

Gruss,
GeekGirl
 
Zuletzt bearbeitet:
Bei Unix ist es so, dass es alle Dateisystem-Aktionen cacht.
Beispiel:
Such mal eine Datei ueber das ganze FS:
find / -name inetd.conf
(dauerte bei meinem 2ghz, 512mb RAM Server mit verdammt vielen Inodes sicher 3-5 Minuten)

Danach machst du nochmals ein find auf eine andere Datei..
find / -name mail.log

Na? Ging schnell was? Bei mir etwa 7 Sekunden und das bei solch einem System:
fortess:/# df -i
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/hda2 1221600 151764 1069836 13% /
/dev/hda3 1221600 29570 1192030 3% /usr
/dev/hda4 2572288 64 2572224 1% /backup
/dev/hdb2 18563072 12356 18550716 1%

(Jede Datei hat eine Inode. Ist sowas wie ein Eintrag fuer das Dateisystem mit Informationen ueber die Datei wie Ort auf der HD und Groesse ist glaubs auch noch dabei...).

Wenn du das System tunen willst in Sachen Memory mach dies:

- Bietest du Services an (-> Server?) -> Nein = sshd deaktivieren, Portmap deaktivieren, inetd ganz rausnehmen (auch wenn Config leer). Diese Dinge findest du bei den Init-Scripten
- Wenn kein Server, brauchst du auch keine Cron.
- Brauchst du 7 virtuelle Konsolen? -> Nein = /etc/inittab editieren spart ein paar getty-Prozesse
 
Zuletzt bearbeitet:
Hi,

was (verlorengegangene) Inoden sind, durfte ich schonmal schmerzlich erfahren, bei meinen ersten ernstzunehmenden Schritten unter Linux und einem frühen ReiserFS vor etwa 2,5 Jahren :)
Zumindest ein rudimentäres Wissen über Dateisysteme konnte ich dieser Erfahrung schon entnehmen *seufz*

Über Dateisystem-Caching habe ich mich noch nicht schlau gemacht, da bin ich nur sehr oberflächlich informiert. Insofern: danke für die Info :respekt:

An unnötigen Diensten und auch ttys hatte ich vor ein paar Tagen schon so einiges deaktiviert, das kann ich also ausschliessen. Da hab ich zufällig 'ne nette Tuningseite gefunden... :)

Ausserdem hab ich mein leider recht schmalbrüstiges Lappy vom "Monster" KDE und KDM befreit (=330 MB HD mehr und ca. 90-100MB mehr RAM zur Startzeit). Ach so, ich sprech hier nicht von einem 486er Lappy, sondern immerhin noch von einem "frisierten" Pentium 2 mit 300Mhz, 224 MB SDRAM und 4,8 GB (Schleich-)HD von IBM.

Auch den Mandrake-Standardkernel hab ich schon entschlackt (an Gentoo auf dem Lappy trau ich mich bei den Ressourcen leider nicht und distcc (verteiltes kompilieren) habe ich faulerweise nie mehr als angedacht).

Also hab ich gestern gnadenlos alle GUI-Gimmicks ausgemerzt, und gewöhne mich gerade an ein Leben mit Ice-WM, Links-Hacked, centericq, orpheus/mpg123 und cone (Auswahl intensiv getestet und für gut befunden) :)

Was ich aber beobachtet habe: zwar ist der RAM immer noch relativ schnell fast voll, aber seit gestern ist es nicht mehr abgekachelt... es ist noch recht früh, das zu sagen, aber es lässt hoffen :)

Gute Nacht
von einem supermüden GeekGirl
das heute die 2. Mathearbeit wiederkriegte und fast vom Stuhl fiel (1!!) *kreisch*

Danke nochmal :)
 
Hi,

erstmal ein dickes Lob für deine erfolgreiche Mathearbeit!! :respekt:

So, jetzt nochmal zu deinem Speicherproblem:
Nachdem du ja jetzt einen schlankeren Windowmanager verwendest, sollte der Speicher deines Rechners auch ausreichend sein.
Stör Dich nicht daran, daß der Speicher komplett genutzt wird - den Speicher, den deine Prozesse nicht benötigen, wird verwendet, um dein Filesystem zu cachen und es damit schnell zu machen. Im längeren Betrieb wird auch der Swap-Speicher verwendet, um schlafende Prozesse darin auszulagern und den nun zur Verfügung stehenden Speicher lieber zum cachen zu verwenden.


8:12am up 153 days, 17:31, 5 users, load average: 0.04, 0.02, 0.00
126 processes: 124 sleeping, 1 running, 0 zombie, 1 stopped
CPU states: 0.1% user, 0.2% system, 0.0% nice, 0.0% idle
Mem: 512440K av, 507104K used, 5336K free, 0K shrd, 157292K buff
Swap: 248968K av, 173716K used, 75252K free 155008K cached

Wie Du sehen kannst, hat unser kleiner Server auch nur noch "5336K free" Speicher übrig, aber 157M werden zu cachen oder aber auch für neue Prozesse verwendet.

Das Problem deines Rechners wird aber irgend ein Speicherfresser sein. Wie verhält es sich denn, wenn Du nur im Runlevel 2 bootest, als ohne Grafik?
Dann starte "top" und drücke auf M (großes M), und die Prozessliste wird nach Speicherverbrauch sortiert. Vielleicht findest Du ja so den Ausreißer.

Um das Swapping besser verfolgen zu können, kannst Du auch mal "vmstat" probieren:
while true; do vmstat; sleep 2; done
Mit Ctrl-C kannst Du das Skript wieder beenden.

Hoffe ich konnte Dir ein wenig helfen den Fehler zu lokalisieren.
Viel Glück und Grüße,
Jobi
 
Hallo,

dankeschön :)

Ich habe den Speicherfresser gefunden, irrsinnigerweise startet bei mir meistens (nicht immer) urpmq, wenn ich mich bei icewm anmelde, mal sehen, wie ich das ausschalte, Mandy braucht das Tool nämlich leider...

Viele Grüsse
vom GeekGirl
 
Wer is denn Mandy? Und was is urpmq? Hoert sich ja fast wie YAUCG an ;) (Hab ich mal programmiert: Yes, Another Userfriendly Comic Grepper)
 
Cool thx. Hab ich noch nie gebraucht/sehen (ich hatte auch die letzten 2 Jahre keine rpm-Pkgmgr Linux Distris mehr..)!
 
tr0nix schrieb:
Wer is denn Mandy? Und was is urpmq? Hoert sich ja fast wie YAUCG an ;) (Hab ich mal programmiert: Yes, Another Userfriendly Comic Grepper)

LOL :D Mandy ist mein Kosename für Mandrake... Urpmi ist sowas wie emerge bzw. apt-get, nur eben für Mandrake (RPM), wie weiter oben ja schon beschrieben...
 
Zurück
Oben