# Performance/Fragen

## Martux

Hallo! Das muss ich jetzt einfach mal fragen, vielleicht hat ja jemand ne Erklärung. Ich habe ein 64bit-System  (Core2Duo E6300) mit 2G RAM und sicherheitshalber 2G Swap. Was mich stutzig macht ist, daß ab ca. 5-600MB RAM-Nutzung (laut gkrellm)auf einmal geswappt wird, so 1-200MB.

Im Moment sieht das dann so aus:

```

 free -m

             total       used       free     shared    buffers     cached

Mem:          2013       1997         15          0        415        995

-/+ buffers/cache:        586       1426

Swap:         1913        142       1771

```

Frage ist, Wieso läuft nicht erst der RAM relativ voll und dann erst der Swap? Ich habe vm.swappiness extra schon auf 10 gestellt, stelle dieses Verhalten aber auch fest wenn ich es auf 0 stelle.

----------

## ChrisJumper

Hi Martux,

also so hatte ich das auch noch nicht. Allerdings wird der Swap bei meinem System so gut wie nie benutzt. Was mir allerdings schon öfters aufgefallen ist:

Das, wenn man den pc lange an lässt.. (lange uptime). Dann Häuft sich auch der Swap. Und der geht nie weg. Das klingt Komisch. Aber meine Swapanzeige bei free wird nur auf null gesetzt wenn ich neu boote.

Mit einem Schlag 1-200 MB SWAP, vielleicht was "großes rekursiv arbeitendes mit niedriger Priorität?"

Ich schätze jetzt mal: Vielleicht so Such-Indizier-Dienste bei einer sehr stark verschachtelten Verzeichnis-Struktur (viele kleine Dateien in vielen Ordnern). Beagle-Search oder sowas.. google-Desktop vielleicht? Schau doch mal deine Prozesse an. Und wie viel Speicher die Brauchen dafür gibt es doch so tolle Programme zum "flaschenhals"-Suchen.

----------

## schachti

Die Wege des Kernels sind unergründlich.   :Wink: 

Wenn Du das Auslagern partout vermeiden möchtest, kannst Du die Zeile

 *Quote:*   

> 
> 
> vm.swappiness = 0
> 
> 

 

zu Deiner /etc/sysctl.conf hinzufügen, siehe http://gentoo-wiki.com/FAQ_Linux_Memory_Management#Swappiness_.282.6_kernels.29.

----------

## Finswimmer

Zu deinem Beispiel: 

Woher weißt du denn, dass der Ram nicht mal kurzfristig auf 0 runter war, und dadurch der Swap belegt worden ist?

@ChrisJumper:

Swap wird, genauso wie Ram, nur wieder freigegeben, wenn ihn neuere Prozesse benötigen. Bis dahin bleiben die alten Daten gespeichert, blockieren den Speicher aber nicht.

Soll heißen, ich starte OO, schließe es dann und öffne es wieder. Die Daten blieben nach dem Schließen im Speicher und OO startet schneller.

Windows (soweit ich das weiß) gibt den Speicher sofort wieder "richtig" frei, wenn das Programm geschlossen wird.

Swap und Ram werden erst bei einem Neustart komplett gelöscht und alles frei gegeben.

Tobi

----------

## Klaus Meier

Schalte doch den Swap einfach ganz ab. Ich habe auch 2GB und habe die Unterstützung für Swap ganz aus dem Kernel entfernt. Bislang noch keine Probleme gehabt, ich denke, mehr als 512 MB werden nicht für Programme gebraucht, der Rest ist Puffer.

----------

## schachti

Kommt drauf an, ob man Swap braucht oder nicht. Für suspend to disk wird AFAIK eine Swap-Partition benötigt, und wer professionelle Bildbearbeitung macht oder mit umfangreichen wissenschaftlichen Daten arbeitet, wird in vielen Fällen auch nicht mit 512 MB hinkommen. Wenn man sich mal anschaut, dass es 500-GB-Festplatten bereits für knapp über 80 Euro gibt und damit eine 2 GB große Swap-Partition gerade mal knapp über 30 Cent kostet...

----------

## Klaus Meier

 *schachti wrote:*   

> Kommt drauf an, ob man Swap braucht oder nicht. Für suspend to disk wird AFAIK eine Swap-Partition benötigt, und wer professionelle Bildbearbeitung macht oder mit umfangreichen wissenschaftlichen Daten arbeitet, wird in vielen Fällen auch nicht mit 512 MB hinkommen. Wenn man sich mal anschaut, dass es 500-GB-Festplatten bereits für knapp über 80 Euro gibt und damit eine 2 GB große Swap-Partition gerade mal knapp über 30 Cent kostet...

 

Das ist schon richtig mit den Kosten. Ich hab bei mir den Swap abgestellt, weil da auch immer was drin war (damals noch mit 1GB) obwohl noch Speicher frei war. Ging damals gut. Und jetzt mit 2GB sollte ich auch bei -j3 auf der sicheren Seite sein.

----------

## Martux

 *ChrisJumper wrote:*   

> 
> 
> Mit einem Schlag 1-200 MB SWAP, vielleicht was "großes rekursiv arbeitendes mit niedriger Priorität?"
> 
> Ich schätze jetzt mal: Vielleicht so Such-Indizier-Dienste bei einer sehr stark verschachtelten Verzeichnis-Struktur (viele kleine Dateien in vielen Ordnern). Beagle-Search oder sowas.. google-Desktop vielleicht? Schau doch mal deine Prozesse an. Und wie viel Speicher die Brauchen dafür gibt es doch so tolle Programme zum "flaschenhals"-Suchen.

 

Hmm, ich geb's ja zu, k9copy rippt ne dvd, während easytag ca. 1000 mp3s taggt... Dabei noch vmware geöffnet   :Cool:  Was für Programme meinst Du denn? *interessier*

@schachti:

Ja, ist mit vm.swappiness = 0 schon ein bißchen besser geworden, allerdings verstehe ich das so, daß unter bestimmten Umständen trotzdem noch geswappt wird, wenn der kernel das für richtig hält.

@Klaus Meier

Den Swap ganz abzuschalten halte ich für keine gute Idee, mich jucken die 2G auf meinem 400G-Raid0 gar nicht, kriege ich eh nicht voll. Außerdem benutze ich tmpfs für /var/tmp/portage (aus Geschwindigkeitsgründen) und da gibt es so tolle Kandidaten wie wxGTK, die selbst damit den Kompiliervorgang abbrechen. Ehrlich, wenn ich wxGTK kompiliere kann ich regelmäßig zuschauen, wie erst die 2G RAM volllaufen und dann noch der gesamte Swap. Sic!

Da hilft dann nur tmpfs für /var/tmp/portage auszuschalten...

Meine Frage war ja wirklich drauf bezogen, daß das geswappe schon bei ca 600MB buffered (nicht cached) RAM losgeht. Ich sehe gkrellm selten bis nie über 600MB benutzt anzeigen (außer bei wxGTK).

----------

## schachti

 *Martux wrote:*   

> 
> 
> @schachti:
> 
> Ja, ist mit vm.swappiness = 0 schon ein bißchen besser geworden, allerdings verstehe ich das so, daß unter bestimmten Umständen trotzdem noch geswappt wird, wenn der kernel das für richtig hält.
> ...

 

Genau - allerdings nur noch, wenn der Kernel meint, dass es wirklich sein muss, und nicht mehr nur dann, wenn der Kernel meint, dass es vielleicht ganz sinnvoll wäre in der aktuellen Situation. Als Alternative bleibt da wohl nur, Swap komplett zu deaktivieren und bei Bedarf manuell einzuschalten (in der /ect/fstab auf noauto setzen und bei Bedarf swapon SWAPPARTITION ausführen).

----------

## michel7

Also ich habe auch 2GB Ram im Notebook und auch eine 256MB swapdatei. Kann mich allerdings nicht erinnern wann diese das letzte mal genutzt wurde. Sicherheitshalber lasse ich sie noch drauf ...

----------

## Klaus Meier

 *schachti wrote:*   

> Als Alternative bleibt da wohl nur, Swap komplett zu deaktivieren und bei Bedarf manuell einzuschalten (in der /ect/fstab auf noauto setzen und bei Bedarf swapon SWAPPARTITION ausführen).

 

Ich denke, das sollte die beste Lösung sein.

----------

