
-----Ursprüngliche Nachricht----- Von: David Haller <lists@dhaller.de> Gesendet: 17.06.06 11:57:26 An: suse-linux@suse.com Betreff: Re: SWAP bei SL 9.3
Hallo,
Am Sam, 17 Jun 2006, Bernd Kloss schrieb:
Wie groß sollte der Swap-Bereich sein auf einem Rechner mit Desktop (Office, Bilder scannen und bearbeiten, nichts wirklich großes, keine Compilersachen).
Arbeitsspeicher 1 GB [..] Gilt die Faustregel 2-2,5-faches des Arbeitspeichers (Korber, 6. A.) noch?
Jein. Fuer's Bilder scannen kann aber etwas mehr swap sinnvoll sein. Hast du mehr als eine Festplatte? Eine mit 80 GB, bin aber kein Power-User, der 10 verschiedene Programme zur Bildbearbeitung, ... braucht. Gimp, Staroffice, paar andere Anwendersachen, viel Text und was man sonst noch so auf dem Muli mit sich schleppt. Fertig.
Gruß Bernd ______________________________________________________________ Verschicken Sie romantische, coole und witzige Bilder per SMS! Jetzt bei WEB.DE FreeMail: http://f.web.de/?mc=021193 -- Um die Liste abzubestellen, schicken Sie eine Mail an: suse-linux-unsubscribe@suse.com Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: suse-linux-help@suse.com

Hallo, Am Sam, 17 Jun 2006, Bernd Kloss schrieb:
Von: David Haller <lists@dhaller.de>
Jein. Fuer's Bilder scannen kann aber etwas mehr swap sinnvoll sein. Hast du mehr als eine Festplatte? Eine mit 80 GB, bin aber kein Power-User, der 10 verschiedene Programme zur Bildbearbeitung, ... braucht. Gimp, Staroffice, paar andere Anwendersachen, viel Text und was man sonst noch so auf dem Muli mit sich schleppt. Fertig.
Wie grosse Bilder? Naja, ich sach mal dass dir 1 GB swap im Normalbetrieb reichen sollte. Wenn das dann volllaeuft macht das Arbeiten eh keine Spass mehr. Wenn du kurzfristig mal mehr swap brauchst kannst du immer noch eine swapdatei anlegen und verwenden, z.B.: dd if=/dev/zero of=/swapdatei bs=1M count=1024 mkswap /swapdatei swapon -p 1 /swapdatei Durch die niedrige Prioritaet wird das swapfile erst verwendet, wenn der restliche swap (mit hoeherer Prioritaet) voll ist. -dnh -- 104: fork(2) New processes are created by other processes, just like new humans. New humans are created by other humans, of course, not by processes. (Unix System Administration Handbook) -- Um die Liste abzubestellen, schicken Sie eine Mail an: suse-linux-unsubscribe@suse.com Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: suse-linux-help@suse.com

David Haller wrote:
[...] Wenn du kurzfristig mal mehr swap brauchst kannst du immer noch eine swapdatei anlegen und verwenden, z.B.:
dd if=/dev/zero of=/swapdatei bs=1M count=1024 mkswap /swapdatei swapon -p 1 /swapdatei
Durch die niedrige Prioritaet wird das swapfile erst verwendet, wenn der restliche swap (mit hoeherer Prioritaet) voll ist.
Ich weiss nicht, wie es bei SUSE 9.3 war, aber bei aktuellen Linux Distributionen ist Prioritaet 1 AFAIK eine *hohe* Prioritaet. Dort wird die Default-Swap-Partition, sofern keine Prioritaet explizit angegeben ist in /etc/fstab, mit Prioritaet -1 eingebunden, jede weitere Swap-Partition oder Swap-File erhaelt eine um eins erniedrigte Prioritaet falls nicht explizit angegeben, z.B. $> cat /proc/swaps Filename Type Size Used Priority /dev/hda6 partition 1052216 3300 -1 /swapdatei file 511992 0 -2 Dein swapon-Kommando bewirkt also wohl genau das Umgekehrte von dem, was Du eigentlich moechtest. Cheers, Th. PS: Frueher wurde IIRC die Default-Swap-Partition des Systems mit Prioritaet 42 eingebunden. -- Um die Liste abzubestellen, schicken Sie eine Mail an: suse-linux-unsubscribe@suse.com Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: suse-linux-help@suse.com

Am Saturday 17 June 2006 14:52 schrieb Thomas Hertweck:
David Haller wrote:
[...] Wenn du kurzfristig mal mehr swap brauchst kannst du immer noch eine swapdatei anlegen und verwenden, z.B.:
dd if=/dev/zero of=/swapdatei bs=1M count=1024 mkswap /swapdatei swapon -p 1 /swapdatei
Durch die niedrige Prioritaet wird das swapfile erst verwendet, wenn der restliche swap (mit hoeherer Prioritaet) voll ist.
Ich weiss nicht, wie es bei SUSE 9.3 war, aber bei aktuellen Linux Distributionen ist Prioritaet 1 AFAIK eine *hohe* Prioritaet. Dort
$ man swapon (von sus 9.3) -p priority Specify priority for swapon. This option is only available if swapon was compiled under and is used under a 1.3.2 or later kernel. pri- ority is a value between 0 and 32767. Higher numbers indicate higher priority. See swapon(2) for a full description of swap priorities. Add pri=value to the option field of /etc/fstab for use with swapon -a.
wird die Default-Swap-Partition, sofern keine Prioritaet explizit angegeben ist in /etc/fstab, mit Prioritaet -1 eingebunden, jede weitere Swap-Partition oder Swap-File erhaelt eine um eins erniedrigte Prioritaet falls nicht explizit angegeben, z.B.
$> cat /proc/swaps Filename Type Size Used Priority /dev/hda6 partition 1052216 3300 -1 /swapdatei file 511992 0 -2
Dein swapon-Kommando bewirkt also wohl genau das Umgekehrte von dem, was Du eigentlich moechtest.
Cheers, Th.
PS: Frueher wurde IIRC die Default-Swap-Partition des Systems mit Prioritaet 42 eingebunden.
Ist bei meiner suse 9.3 gerade auch so. Könnte aber auch ein SuSE-default sein. -- Andreas -- Um die Liste abzubestellen, schicken Sie eine Mail an: suse-linux-unsubscribe@suse.com Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: suse-linux-help@suse.com

Andreas Winkelmann wrote:
[...]
$ man swapon (von sus 9.3)
-p priority Specify priority for swapon. This option is only available if swapon was compiled under and is used under a 1.3.2 or later kernel. pri- ority is a value between 0 and 32767. Higher numbers indicate higher priority. See swapon(2) for a full description of swap priorities. Add pri=value to the option field of /etc/fstab for use with swapon -a.
Das ist auch bei SUSE 10.0 so im Manual. Aber in der Praxis wird die Swap-Partition (defaults in /etc/fstab) mit Prioritaet -1 eingebunden beim swapon Befehl... Cheers, Th. -- Um die Liste abzubestellen, schicken Sie eine Mail an: suse-linux-unsubscribe@suse.com Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: suse-linux-help@suse.com

Hallo, Am Sam, 17 Jun 2006, Thomas Hertweck schrieb:
Andreas Winkelmann wrote:
[...] $ man swapon (von sus 9.3)
-p priority Specify priority for swapon. This option is only available if swapon was compiled under and is used under a 1.3.2 or later kernel. pri- ority is a value between 0 and 32767. Higher numbers indicate higher priority. See swapon(2) for a full description of swap priorities. Add pri=value to the option field of /etc/fstab for use with swapon -a.
Das ist auch bei SUSE 10.0 so im Manual. Aber in der Praxis wird die Swap-Partition (defaults in /etc/fstab) mit Prioritaet -1 eingebunden beim swapon Befehl...
Aus man 2 swapon: The priority is encoded as: (prio << SWAP_FLAG_PRIO_SHIFT) & SWAP_FLAG_PRIO_MASK ==== swptst.c ==== #include <stdio.h> #include <sys/swap.h> int main(void) { int swflags; int prio; for(prio = -3; prio < 3; prio++) { swflags = (prio << SWAP_FLAG_PRIO_SHIFT) & SWAP_FLAG_PRIO_MASK; printf("%i\n", swflags); } return 0; } ===== $ gcc -Wall -W swptst.c -o swptst && ./swptst 32765 32766 32767 0 1 2 Somit wird die Angabe "-1" also zu 32767 und ist somit die hoechste Prioritaet und "1" ist die zweitniedrigste. Warum SuSE da -1 hinschreibt ist mir aber auch schleierhaft. -dnh -- "Windows NT has detected the following system change: Mouse has moved. Click 'OK' to reboot." -- Mike Andrews -- Um die Liste abzubestellen, schicken Sie eine Mail an: suse-linux-unsubscribe@suse.com Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: suse-linux-help@suse.com

Am Saturday 17 June 2006 15:42 schrieb David Haller:
$ man swapon (von sus 9.3)
-p priority Specify priority for swapon. This option is only available if swapon was compiled under and is used under a 1.3.2 or later kernel. pri- ority is a value between 0 and 32767. Higher numbers indicate higher priority. See swapon(2) for a full description of swap priorities. Add pri=value to the option field of /etc/fstab for use with swapon -a.
Das ist auch bei SUSE 10.0 so im Manual. Aber in der Praxis wird die Swap-Partition (defaults in /etc/fstab) mit Prioritaet -1 eingebunden beim swapon Befehl...
Aus man 2 swapon:
The priority is encoded as: (prio << SWAP_FLAG_PRIO_SHIFT) & SWAP_FLAG_PRIO_MASK
==== swptst.c ==== #include <stdio.h> #include <sys/swap.h>
int main(void) { int swflags; int prio; for(prio = -3; prio < 3; prio++) { swflags = (prio << SWAP_FLAG_PRIO_SHIFT) & SWAP_FLAG_PRIO_MASK; printf("%i\n", swflags); } return 0; } =====
$ gcc -Wall -W swptst.c -o swptst && ./swptst 32765 32766 32767 0 1 2
Somit wird die Angabe "-1" also zu 32767 und ist somit die hoechste Prioritaet und "1" ist die zweitniedrigste. Warum SuSE da -1 hinschreibt ist mir aber auch schleierhaft.
Aus dem Vanilla-Sourcecode von swapon(1). Weiss nicht ob es ne Spezial-(Open)SuSE-Edition gibt. ------------------------------------------------------------------ "prio" ist ein int gefüllt mit dem Argument aus der KOmmandozeile bzw. der prio aus der fstab. #ifdef SWAPON_NEEDS_TWO_ARGS { int flags = 0; #ifdef SWAP_FLAG_PREFER if (prio >= 0) { if (prio > SWAP_FLAG_PRIO_MASK) prio = SWAP_FLAG_PRIO_MASK; flags = SWAP_FLAG_PREFER | ((prio & SWAP_FLAG_PRIO_MASK) << SWAP_FLAG_PRIO_SHIFT); } #endif status = swapon(special, flags); } #else status = swapon(special); #endif ------------------------------------------------------------------ Wenn prio negativ ist kommt bei swapon(2) nur 0 an. Das passt dann auch zu der man-Page von swapon(1), wo von einem Range von 0-32767 die Rede ist. -- Andreas -- Um die Liste abzubestellen, schicken Sie eine Mail an: suse-linux-unsubscribe@suse.com Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: suse-linux-help@suse.com

Andreas Winkelmann wrote:
[...] Wenn prio negativ ist kommt bei swapon(2) nur 0 an. Das passt dann auch zu der man-Page von swapon(1), wo von einem Range von 0-32767 die Rede ist.
Das macht wenig Sinn, oder? Bei SUSE (z.B. 10.0) ist die Prioritaet wie gesagt negativ (fuer alle eingebundenen Swap-Bereiche ohne explizite Angabe), da waeren ja dann alle Swap-Bereiche mit gleicher niedrigster Prioritaet 0 versehen nach Deiner Aussage... David's Betrachtungen sagen etwas anderes, naemlich dass -1 letztendlich Prioritaet 32767 entspricht und damit der hoechsten. Finde ich aber alles recht seltsam. Frueher war wie gesagt die Prioritaet 42 und ein weiterer Swap-Bereich konnte mit entsprechend hoeherer oder niedrigerer Prioritaet eingehaengt werden. Bei beiden genannten Erklaerungen von euch befindet sich die Prioritaet aber am jeweiligen Ende der Skala, was dann zumindest in eine Richtung wenig Spielraum laesst :-? Cheers, Th. -- Um die Liste abzubestellen, schicken Sie eine Mail an: suse-linux-unsubscribe@suse.com Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: suse-linux-help@suse.com

Hallo, Am Sam, 17 Jun 2006, Andreas Winkelmann schrieb: [..]
Das ist auch bei SUSE 10.0 so im Manual. Aber in der Praxis wird die Swap-Partition (defaults in /etc/fstab) mit Prioritaet -1 eingebunden beim swapon Befehl... [..] Aus dem Vanilla-Sourcecode von swapon(1). Weiss nicht ob es ne Spezial-(Open)SuSE-Edition gibt.
"prio" ist ein int gefüllt mit dem Argument aus der KOmmandozeile bzw. der prio aus der fstab.
#ifdef SWAPON_NEEDS_TWO_ARGS { int flags = 0;
#ifdef SWAP_FLAG_PREFER if (prio >= 0) { if (prio > SWAP_FLAG_PRIO_MASK) prio = SWAP_FLAG_PRIO_MASK; flags = SWAP_FLAG_PREFER | ((prio & SWAP_FLAG_PRIO_MASK) << SWAP_FLAG_PRIO_SHIFT); } [..] Wenn prio negativ ist kommt bei swapon(2) nur 0 an. Das passt dann auch zu der man-Page von swapon(1), wo von einem Range von 0-32767 die Rede ist.
Aeh, ja. Da fehlt bei mir die 'prio >= 0' Abfrage. Mit util-linux-2.11u gibt's nach cpp das hier: { int flags = 0; if (prio >= 0) { if (prio > 0x7fff ) prio = 0x7fff ; flags = 0x8000 | ((prio & 0x7fff ) << 0 ); } status = swapon(special, flags); } Was das '<< 0' soll und das SWAP_FLAG_PRIO_SHIFT scheint bisher immer 0 gewesen zu sein. Naja, vermutlich ist das irgendwo != 0... ;) Jetzt frag ich mich aber auch was SUSE sich dabei denkt, -1, -2, usw. in die fstab reinzuschreiben... Das '42' fuer alle swap-partitionen passte doch... Naja. Bei der 10.1 hat Yast mir jedenfalls kein 'pri=' in die fstab geschrieben, d.h. die Partitionen bekommen alle die (gleiche) default-Prioritaet. -dnh -- Ah, like me, you only look at the screen occasionally. It gets bad when I forget to hit i in vi. Usually the screen going blinkblinkblink alerts me after I've deleted a couple of characters. -- Satya -- Um die Liste abzubestellen, schicken Sie eine Mail an: suse-linux-unsubscribe@suse.com Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: suse-linux-help@suse.com

David Haller wrote:
[...] Jetzt frag ich mich aber auch was SUSE sich dabei denkt, -1, -2, usw. in die fstab reinzuschreiben... Das '42' fuer alle swap-partitionen passte doch... Naja. Bei der 10.1 hat Yast mir jedenfalls kein 'pri=' in die fstab geschrieben, d.h. die Partitionen bekommen alle die (gleiche) default-Prioritaet.
SUSE schreibt keine pri= in die fstab, da steht lediglich: $> grep swap /etc/fstab /dev/hda6 swap swap defaults 0 0 Nach dem swapon-Befehl ergibt sich dann: $> cat /proc/swaps Filename Type Size Used Priority /dev/hda6 partition 1052216 0 -1 Priority ist -1. Irgendwie kann ich damit wenig anfangen. Cheers, Th. -- Um die Liste abzubestellen, schicken Sie eine Mail an: suse-linux-unsubscribe@suse.com Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: suse-linux-help@suse.com

Am Saturday 17 June 2006 22:59 schrieb David Haller:
Das ist auch bei SUSE 10.0 so im Manual. Aber in der Praxis wird die Swap-Partition (defaults in /etc/fstab) mit Prioritaet -1 eingebunden beim swapon Befehl...
[..]
Aus dem Vanilla-Sourcecode von swapon(1). Weiss nicht ob es ne Spezial-(Open)SuSE-Edition gibt.
"prio" ist ein int gefüllt mit dem Argument aus der KOmmandozeile bzw. der prio aus der fstab.
#ifdef SWAPON_NEEDS_TWO_ARGS { int flags = 0;
#ifdef SWAP_FLAG_PREFER if (prio >= 0) { if (prio > SWAP_FLAG_PRIO_MASK) prio = SWAP_FLAG_PRIO_MASK; flags = SWAP_FLAG_PREFER
| ((prio & SWAP_FLAG_PRIO_MASK)
<< SWAP_FLAG_PRIO_SHIFT); }
[..]
Wenn prio negativ ist kommt bei swapon(2) nur 0 an. Das passt dann auch zu der man-Page von swapon(1), wo von einem Range von 0-32767 die Rede ist.
Aeh, ja. Da fehlt bei mir die 'prio >= 0' Abfrage. Mit util-linux-2.11u gibt's nach cpp das hier:
{ int flags = 0; if (prio >= 0) { if (prio > 0x7fff ) prio = 0x7fff ; flags = 0x8000
| ((prio & 0x7fff )
<< 0 ); } status = swapon(special, flags); }
Was das '<< 0' soll und das SWAP_FLAG_PRIO_SHIFT scheint bisher immer 0 gewesen zu sein. Naja, vermutlich ist das irgendwo != 0... ;)
Ist genau dasselbe wie oben, nur dass die Konstanten aufgelöst sind.
Jetzt frag ich mich aber auch was SUSE sich dabei denkt, -1, -2, usw. in die fstab reinzuschreiben... Das '42' fuer alle swap-partitionen passte doch... Naja. Bei der 10.1 hat Yast mir jedenfalls kein 'pri=' in die fstab geschrieben, d.h. die Partitionen bekommen alle die (gleiche) default-Prioritaet.
Also bei der 9.3 ist das bei negativen Werten scheinbar so, dass er bei -1 anfängt und egal was für ein Wert da kommt immer weiter hochzählt. Habe mal ein wenig rumprobiert: ws:/tmp # swapon -s Filename Type Size Used Priority /dev/hda2 partition 1052248 0 42 ws:/tmp # swapon -p -5 /tmp/swapfile1 ws:/tmp # swapon -s Filename Type Size Used Priority /dev/hda2 partition 1052248 0 42 /tmp/swapfile1 file 992 0 -11 ws:/tmp # swapon -p -1 /tmp/swapfile2 ws:/tmp # swapon -s Filename Type Size Used Priority /dev/hda2 partition 1052248 0 42 /tmp/swapfile1 file 992 0 -11 /tmp/swapfile2 file 992 0 -12 ws:/tmp # swapon -p -100 /tmp/swapfile3 ws:/tmp # swapon -s Filename Type Size Used Priority /dev/hda2 partition 1052248 0 42 /tmp/swapfile1 file 992 0 -11 /tmp/swapfile2 file 992 0 -12 /tmp/swapfile3 file 992 0 -13 Hatte vorher schon von -1 bis -10 gehabt. Deswegen fehlt das hier. Hatte aber von -1 angefangen und bei jedem negativen Wert einen hochgezählt. Naja, wirklich verstehen muss man das wohl nicht. Man sollte wohl laut Dok eh Positive Werte eingeben. -- Andreas -- Um die Liste abzubestellen, schicken Sie eine Mail an: suse-linux-unsubscribe@suse.com Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: suse-linux-help@suse.com
participants (4)
-
Andreas Winkelmann
-
Bernd Kloss
-
David Haller
-
Thomas Hertweck