Wozu brauche ich swap?

Du kommst mit der Installation nicht voran oder willst noch was nachfragen? Schau auch in den "Tipps und Tricks"-Bereich.
Antworten
Benutzeravatar
roland
Beiträge: 159
Registriert: 24.08.2004 14:41:41
Wohnort: 754xx
Kontaktdaten:

Wozu brauche ich swap?

Beitrag von roland » 20.10.2005 13:57:22

Ich habe gerade zum Ausprobieren den Swap ausgeschaltet (swapoff). Trotzdem funktioniert das System, selbst vier virtuelle Maschinen (VMWare) und OpenOffice laufen parallel.

Da stellt sich mir die Frage: Wie macht Linux das? Lagert es trotzdem irgendwo aus? Wozu brauche ich dann noch die Swappartition?

roland

nil
Beiträge: 989
Registriert: 08.06.2005 13:28:36

Beitrag von nil » 20.10.2005 14:00:07

Starte doch mal ein paar weitere Anwendungen. Kannst z.B. ein Script schreiben, dass sich selbst aufruft und nebenbei im anderen Terminal führst Du mal:

Code: Alles auswählen

free -m
             total       used       free     shared    buffers     cached
Mem:           376        359         17          0         36        272
-/+ buffers/cache:         50        326
Swap:          486          0        486
aus.

Wichtig sind die Zeilen "-/+ buffers/cache", da hier die wirkliche Belegung gespeichert ist. Und Swap ist evtl. frei.

Benutzeravatar
roland
Beiträge: 159
Registriert: 24.08.2004 14:41:41
Wohnort: 754xx
Kontaktdaten:

Beitrag von roland » 21.10.2005 08:14:26

total used free shared buffers cached
Mem: 1035768 1028336 7432 0 104108 661784
-/+ buffers/cache: 262444 773324
Swap: 0 0 0

Swap ist wie gesagt ausgeschaltet. Beim Öffnen einer neuen Anwendung ändert sich an der Ausgabe von "free" fast nichts. Dafür arbeitet die Festplatte wie verrückt. Aber was macht sie da, so ohne Swap?

roland

hennes@debian
Beiträge: 465
Registriert: 18.01.2005 02:11:40
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Schweiz - Kanton St. Gallen
Kontaktdaten:

Beitrag von hennes@debian » 21.10.2005 08:39:08

Wenn du mehr als ca. 256MB ram hast wird swap praktisch nie verwendet, wiso auslagern wenn genug ram da ist?!?
Die Festplatte wird natürlich immer noch verwendet, irgendwoher muss das Programm ja geladen werden. Wenn der PC mal was in den swap auslagert, merkst du es sofort, er wird extrem langsam... Ich hatte mal ein Java-Programm, das hat pro Sekunde ca. 100MB ram verbraucht, das geht genau 5 sec bei 1GB Ram, danach kann man der Maus zuschauen wie sie springt ;) Naja, war ein kleiner Programmierfehler auf seiten GCJ, wenn ich ein Image im xserver erstelle, wird es nicht wider gelöscht...

nil
Beiträge: 989
Registriert: 08.06.2005 13:28:36

Beitrag von nil » 21.10.2005 10:00:10

Hast mal wie beschrieben ein Programm geschrieben, das sich selbst aufruft:

echo "/dies/ist/der/pfad/zum/program" > /dies/ist/der/pfad/zum/program
chmod 755 "/dies/ist/der/pfad/zum/program

und dann aufrufen mit:

/dies/ist/der/pfad/zum/program

... und dann nur noch warten ....

Benutzeravatar
roland
Beiträge: 159
Registriert: 24.08.2004 14:41:41
Wohnort: 754xx
Kontaktdaten:

Beitrag von roland » 21.10.2005 20:40:41

Hmm, ganz gefressen habe ich es noch nicht. Was passiert denn, wenn der Speicher alle ist? Windows mault dann rum, aber ich habe unter Linux noch nie eine Meldung ala "Speicher alle. Weitermachen oder abstürzen?" gesehen.

@hennes: 256MB sind schon nicht schlecht, aber wie ich schon sagte, es laufen gleichzeitig zweimal XP, einmal Win2000 Server, einmal Suse und einmal Debian. Und die möchten alle Speicher haben.

roland

Benutzeravatar
roland
Beiträge: 159
Registriert: 24.08.2004 14:41:41
Wohnort: 754xx
Kontaktdaten:

Beitrag von roland » 21.10.2005 21:00:54

Ich habe es gerade noch einmal ausprobiert.

Im Ausgangszustand meldet free (total used free):
1035768 325328 710440

Dann füge ich nacheinander drei VMs dazu:

1035768 910208 125560
1035768 1029432 6336
1035768 1029684 6084

Wie man sieht, ist nach der zweiten VM der Speicher schon voll. Swap ist ausgeschaltet, trotzdem schaufelt das System noch fast 400MB für die dritte VM frei.

Wie geht das bloß?

roland

Benutzeravatar
Teddybear
Beiträge: 3163
Registriert: 07.05.2005 13:52:55
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Altomünster
Kontaktdaten:

Beitrag von Teddybear » 21.10.2005 21:59:40

hi,

erstmal würde ich sagen, sollte man sich, wenn man Windoof gewöhnt ist... die Philosophie der Speicherverwendung wie sie unter Win geschiet aus dem Kopf löschen!!
Linux geht mit dem Speicher ganz anders um...
nicht das was an Speicher noch "frei" ist ist interessant, denn Linux verwendet fast alles!,
wenn kein Programm Speicher benötigt, wird der rest fürs Caching verwendet..., sobald ein Programm nach Speicher fragt, wird vom derzeitigen Cache Speicher an das Programm abgegeben...

Also ist es uninteressant das dein Gig fast komplett benutzt ist...
Wie schon im oberen Thread erwänt... interessant ist nicht unbedingt die erste, sondern die 2. Zeile in der ausgabe von "free mem"

Und die 400MB holt er sich aus dem cache, um deine Frage zu beantworten.

greetz Sascha

Antworten