Hallo, zum Swap-Thema hättt ich eine Frage zu den Priorities: Auf der Seite von Thomas http://www.thomashertweck.de/linuxram.html gibt es diese: #> cat /proc/swaps Filename Type Size Used Priority /dev/hda6 partition 1052216 3300 -1 /swap.file file 511992 0 -2 laut man swapon (SuSE 9.3!) sollte aber gelten: "priority is a value between 0 and 32767. Higher numbers indicate higher priority." SuSE 9.3 (yast) hat die erste angelegt mit Priorität 42? (Klingt nach "The Hitchhiker's Guide to the Galaxy") Habe nun ein swapfile auf einer schnelleren HD angelegt, die aber nicht immer da sein könnte. Daher habe ich - nachdem ich das File erzeugt habe - in boot.local folgendes 'reingeschrieben: test -s /pfad/swap.file && swapon -v -p 111 /pfad/swap.file Danach schaut 'mein cat' dann so aus: #> cat /proc/swaps Filename Type Size Used Priority /dev/hda1 partition 1052216 0 42 /pfad/swap.file file 1052216 0 111 rufe ich jetzt top auf sehe ich dort die Summe beider also 2104432. Wird _jetzt_, nach meinem swapon in boot.local, bereits die 111 vor der 42 bevorzugt oder muss ich das 'Swap-Prgogramm' (welches) auch noch restarten? Anders gefragt, genügt meine Zeile, dass sich das swap.file vor die Partition schiebt oder nicht? Danke, Calli -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hallo, Am Don, 21 Feb 2008, gooly@gmx.at schrieb: [..]
Daher habe ich - nachdem ich das File erzeugt habe - in boot.local folgendes 'reingeschrieben: test -s /pfad/swap.file && swapon -v -p 111 /pfad/swap.file
Danach schaut 'mein cat' dann so aus: #> cat /proc/swaps Filename Type Size Used Priority /dev/hda1 partition 1052216 0 42 /pfad/swap.file file 1052216 0 111
rufe ich jetzt top auf sehe ich dort die Summe beider also 2104432. Wird _jetzt_, nach meinem swapon in boot.local, bereits die 111 vor der 42 bevorzugt
Du hast die Prioritäten genau falschrum vergeben. So wird das swapfile bevorzugt. === man 2 swapon === [..] Higher numbers mean higher priority. Swap pages are allocated from areas in priority order, highest priority first. For areas with different priori ties, a higher-priority area is exhausted before using a lower-priority area. If two or more areas have the same priority, and it is the highest priority available, pages are allocated on a round-robin basis between them. === Negative Zahlen werden dabei AFAIK per "Überlauf" auf die höchsten Prioritäten umgebogen, d.h. -1 = 32767, -2 = 32766 usw.
oder muss ich das 'Swap-Prgogramm' (welches) auch noch restarten?
Nein. swapon reicht.
Anders gefragt, genügt meine Zeile, dass sich das swap.file vor die Partition schiebt oder nicht?
Ja, allerdings ist die Partition schneller, sollte also bevorzugt werden. Nimm für's swapfile z.B. '-p 10'. Du kannst das swapfile auch in der fstab fest eintragen. -dnh -- Und da ich falsch geschrieben habe, was ja flasch ist, da faslch richtig ge- schrieben ja richtig und nicht falcsh ist, hab ich durch das richtige schrei- ben einen Fehler gemacht und damit das Wort flasch richtig verwendet, da es ja flashc ist, was hier nicht richtig, aber passend ist. -- Till Potinius -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Am Donnerstag, 21. Februar 2008 schrieb David Haller:
Hallo,
Am Don, 21 Feb 2008, gooly@gmx.at schrieb: [..]
Daher habe ich - nachdem ich das File erzeugt habe - in boot.local folgendes 'reingeschrieben: test -s /pfad/swap.file && swapon -v -p 111 /pfad/swap.file
Danach schaut 'mein cat' dann so aus: #> cat /proc/swaps Filename Type Size Used Priority /dev/hda1 partition 1052216 0 42 /pfad/swap.file file 1052216 0 111
rufe ich jetzt top auf sehe ich dort die Summe beider also 2104432. Wird _jetzt_, nach meinem swapon in boot.local, bereits die 111 vor der 42 bevorzugt
Du hast die Prioritäten genau falschrum vergeben. So wird das swapfile bevorzugt. Dann ist's das was ich will. Die Partition ist eine (langsame, kleine) FlashCard, das Swapfile auf einer (wechsel-)hd kann größer sein. Swap ist aber eh meistens auf 0 (keine Graphik, KDE, ..)
=== man 2 swapon === [..] Higher numbers mean higher priority.
Swap pages are allocated from areas in priority order, highest priority first. For areas with different priori ties, a higher-priority area is exhausted before using a lower-priority area. If two or more areas have the same priority, and it is the highest priority available, pages are allocated on a round-robin basis between them. ===
Negative Zahlen werden dabei AFAIK per "Überlauf" auf die höchsten Prioritäten umgebogen, d.h. -1 = 32767, -2 = 32766 usw. aha!
oder muss ich das 'Swap-Prgogramm' (welches) auch noch restarten?
Nein. swapon reicht. gut!
Anders gefragt, genügt meine Zeile, dass sich das swap.file vor die Partition schiebt oder nicht?
Ja, allerdings ist die Partition schneller, sollte also bevorzugt werden. Ich weiss. Aber meine Partition ist aber keine 'normale' Nimm für's swapfile z.B. '-p 10'.
Du kannst das swapfile auch in der fstab fest eintragen. Dann gibt's Probleme, wenn die Platte mit dem swap.file mal nicht da ist.
Dank und lg, calli -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hallo, Am Don, 21 Feb 2008, gooly@gmx.at schrieb:
Am Donnerstag, 21. Februar 2008 schrieb David Haller:
Du hast die Prioritäten genau falschrum vergeben. So wird das swapfile bevorzugt. Dann ist's das was ich will. Die Partition ist eine (langsame, kleine) FlashCard, das Swapfile auf einer (wechsel-)hd kann größer sein. Swap ist aber eh meistens auf 0 (keine Graphik, KDE, ..)
Ah so, dann ist ein Swapfile auf der HD natürlich zu bevorzugen, falls du darauf keine Swappartition anlegen willst. Dann passt's mit den Prioritäten natürlich. -dnh -- sh -c 'set 2 1 0 / . - + ^ : , ! %;y=70;for a in $* $*;do x=54;while [ \ ${#s} -lt 79 ];do r=0;i=0;for b in % $*;do [ $(((q=r*r)+(t=i*i))) -ge 9\ 999 ]&&break;i=$((y+(r*i)/32));r=$((x+(q-t)/64));done;s=$b$s;x=$((x-2))\ ;done;y=$((y-6));echo $s;s=;done;' -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Am Donnerstag, 21. Februar 2008 schrieb David Haller:
Hallo,
Am Don, 21 Feb 2008, gooly@gmx.at schrieb:
Am Donnerstag, 21. Februar 2008 schrieb David Haller:
Du hast die Prioritäten genau falschrum vergeben. So wird das swapfile bevorzugt.
Dann ist's das was ich will. Die Partition ist eine (langsame, kleine) FlashCard, das Swapfile auf einer (wechsel-)hd kann größer sein. Swap ist aber eh meistens auf 0 (keine Graphik, KDE, ..)
Ah so, dann ist ein Swapfile auf der HD natürlich zu bevorzugen, falls du darauf keine Swappartition anlegen willst. Dann passt's mit den Prioritäten natürlich.
Und wie ist das, wenn ich SWAP ganz abschalte? Musste leider beim Viea-Board immer wieder Total-Crashes feststellen, die offenbar mit dem Plattenzugriff zusammen hängen (noch schneller kam der crash, wenn eine usb-Platte 'drin hängt). Wie stabil wäre Linux (SuSe 9.3), wenn ich kein SWAP anbiete - erstmal indem ich den in fstab auskommentiert. Leider klappte es nicht ein SWAP-File im RAM einzurichten ;) bis zum letzten mkswap (mount -t tmpfs .., dd if=.., mkswap ..) ging alles glatt aber swapon -v -p 222 /ramSWAP/Swap.file verweigerte sich mit einem schmallippigen Invalid argument /ramSWAP/Swap.file Jetzt hat er eben kein SWAP mehr! Weiss jemand wie sich das auswirkt, .. auswirken könnte? Ein 'suspend to whatever' ist nicht angedacht, dafür bräuchte ich es nicht. Danke Calli -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
gooly@gmx.at wrote: [...]
Und wie ist das, wenn ich SWAP ganz abschalte?
Nix, solange du noch Speicher hast! [...]
Wie stabil wäre Linux (SuSe 9.3), wenn ich kein SWAP anbiete - erstmal indem ich den in fstab auskommentiert.
kommt auf deine Applikationen/deinen Speicherausbau an. [...]
Jetzt hat er eben kein SWAP mehr! Weiss jemand wie sich das auswirkt, .. auswirken könnte? Ein 'suspend to whatever' ist nicht angedacht, dafür bräuchte ich es nicht.
du brauchst prinzipiell keinen Swap. Wenn du keinen hast, kann a) weder bei Überlast geswappt werden noch b) der Kernel lange nicht gebrauchte Teile auslagern um die Effizienz des Caching zu steigern. Linux lagert nämlich lange vor dem "Speicher voll" ggf. bereits auf Platte aus, so das der Hauptspeicher für caching genutzt werden kann. Das bringt dir unterm Strich eine bessere Performance. Solange Du genug Speicher hast merkst Du keinen Unterschied. Und wenn dein Speicher so voll ist, das die Kiste kein Memory mehr allokieren kann wird der Kernel für dich aufräumen; das kann dir allerdings auch mit swap passieren. Andreas -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Kyek, Andreas, VF-DE schrieb:
Und wie ist das, wenn ich SWAP ganz abschalte?
Nix, solange du noch Speicher hast!
Schön. Aber was passiert wenn du den Rechner ohne Swap schlafen legst? Hast Du schon mal suspend-to-disk ohne Swap versucht? - -- All the best, Peter J. P-N. aedon DESIGNS http://www.hochzeitsbuch.info/ http://www.aedon.eu/ -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.4-svn0 (GNU/Linux) Comment: Using GnuPG with SUSE - http://enigmail.mozdev.org iD8DBQFHzQNIh8q3OtgoGAwRAhHIAJ0TwxUKLZb+iOlaVPtS68/GomaJ+gCdEvE2 ia4qvl3EeLCLsdGBNwfNAgo= =n3qR -----END PGP SIGNATURE----- -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Peter j. P-N wrote:
Kyek, Andreas, VF-DE schrieb:
Und wie ist das, wenn ich SWAP ganz abschalte?
Nix, solange du noch Speicher hast!
Schön. Aber was passiert wenn du den Rechner ohne Swap schlafen legst? Hast Du schon mal suspend-to-disk ohne Swap versucht?
Nöö, warum auch? Es geht nicht. Er schrieb doch aber in seinem Post, das er an suspend KEIN Interesse hat und es nicht nutzt. Wo ist also das Problem? Andreas -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
David Haller wrote:
[...]
Negative Zahlen werden dabei AFAIK per "Überlauf" auf die höchsten Prioritäten umgebogen, d.h. -1 = 32767, -2 = 32766 usw.
Wir hatten hier auf der Liste (oder war das noch auf suse-linux) mal eine Diskussion darueber, was die negativen Zahlen eigentlich bedeuten. Vielleicht einfach mal im Archiv suchen. Momentan zeigt hier $> cat /proc/swaps Filename Type Size Used Priority /dev/sda5 partition 2104472 0 -1 an. Die Prioritaet ist also in der Tat hier als -1 angegeben, wie auch im Artikel auf der Webseite. IMHO macht es im Prinzip wenig Sinn, da die Prioritaet ganz am Ende der Skala angesiedelt ist (wenn es tatsaechlich zu einem Ueberlauf kommt) - damit kann man dann einen evtl. eingefuegten weiteren Swap-Bereich nur noch mit gleicher oder niedrigerer Prioritaet anlegen, nicht aber mit hoeherer Prioritaet. Waere vielleicht mal eine Frage fuer suse-kernel oder so, ich glaube damals endete die Diskussion mit keiner definitiven Antwort. Cheers, Th. -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hallo, Am Don, 21 Feb 2008, Thomas Hertweck schrieb:
David Haller wrote:
[...] Negative Zahlen werden dabei AFAIK per "Überlauf" auf die höchsten Prioritäten umgebogen, d.h. -1 = 32767, -2 = 32766 usw.
Wir hatten hier auf der Liste (oder war das noch auf suse-linux) mal eine Diskussion darueber, was die negativen Zahlen eigentlich bedeuten. Vielleicht einfach mal im Archiv suchen. Momentan zeigt hier
$> cat /proc/swaps Filename Type Size Used Priority /dev/sda5 partition 2104472 0 -1
an. Die Prioritaet ist also in der Tat hier als -1 angegeben, wie auch im Artikel auf der Webseite. IMHO macht es im Prinzip wenig Sinn, da die Prioritaet ganz am Ende der Skala angesiedelt ist (wenn es tatsaechlich zu einem Ueberlauf kommt) - damit kann man dann einen evtl. eingefuegten weiteren Swap-Bereich nur noch mit gleicher oder niedrigerer Prioritaet anlegen, nicht aber mit hoeherer Prioritaet.
Naja, ich setze in der fstab explizit positive Prioritäten, aus genau diesem Grund. Das ist IMNSHO ein Problem des Admins, nicht der Kernelprogrammier.
Waere vielleicht mal eine Frage fuer suse-kernel oder so, ich glaube damals endete die Diskussion mit keiner definitiven Antwort.
==== linux-2.6.18.8-0.9/include/linux/swap.h === [..] @:13 #define SWAP_FLAG_PREFER 0x8000 /* set if swap priority specified */ #define SWAP_FLAG_PRIO_MASK 0x7fff #define SWAP_FLAG_PRIO_SHIFT 0 [..] @:130 struct swap_info_struct { unsigned int flags; int prio; /* swap priority */ ==== linux-2.6.18.8-0.9/mm/swapfile.c ==== [..] @:1368 asmlinkage long sys_swapon(const char __user * specialfile, int swap_flags) { [..] @:1415 if (swap_flags & SWAP_FLAG_PREFER) { p->prio = (swap_flags & SWAP_FLAG_PRIO_MASK)>>SWAP_FLAG_PRIO_SHIFT; } else { ==== Bei 2.4.10 und 2.4.33.2 sieht's identisch aus (mit anderen Zeilennummern), andere Kernel hab ich grad nicht griffbereit ausgepackt rumliegen. $ perl -e 'for(-1, -2) { printf "if( %i ) { p->prio = ( %i ) >> 0;\n", $_ & 0x8000, $_ & 0x7fff; }' if( 32768 ) { p->prio = ( 32767 ) >> 0; if( 32768 ) { p->prio = ( 32766 ) >> 0; Ich hab's also nicht richtig erklärt, es ist kein Überlauf sondern es wird maskiert. Für mich liest sich das jetzt wie ne definitive Antwort. ;P Warum in /proc/swaps (swap_flags?) die -1 stehen bleibt weiß ich nicht, da nachzukruschteln bin ich jetzt zu müde. -dnh -- Aussage eines Mathematikprofessors von mir: 'Die Informatiker, das sind die, die dann am Bahnsteig stehen, und ihre Koffer zählen - 0, 1, 2 - Mist, wo ist der dritte Koffer?' [Adalbert Michelic in suse-linux] -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
David Haller wrote:
Am Don, 21 Feb 2008, Thomas Hertweck schrieb:
[...] IMHO macht es im Prinzip wenig Sinn, da die Prioritaet ganz am Ende der Skala angesiedelt ist (wenn es tatsaechlich zu einem Ueberlauf kommt) - damit kann man dann einen evtl. eingefuegten weiteren Swap-Bereich nur noch mit gleicher oder niedrigerer Prioritaet anlegen, nicht aber mit hoeherer Prioritaet.
Naja, ich setze in der fstab explizit positive Prioritäten, aus genau diesem Grund. Das ist IMNSHO ein Problem des Admins, nicht der Kernelprogrammier.
Lass es mich umformulieren: Warum wird von YaST beim Anlegen einer Swap-Partition diese Prioritaet als Standard gewaehlt? Frueher war es IIRC 42. Diese Nummer gefaellt mir besser ;-) Sie laesst auch Spielraum nach oben und unten. Eine Prioritaet von -1 bzw. 32767 laesst das jedenfalls nicht. Warum also ist das Standard? Cheers, Th. -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hallo, Am Son, 24 Feb 2008, Thomas Hertweck schrieb:
Lass es mich umformulieren: Warum wird von YaST beim Anlegen einer Swap-Partition diese Prioritaet als Standard gewaehlt? Frueher war es IIRC 42. Diese Nummer gefaellt mir besser ;-) Sie laesst auch Spielraum nach oben und unten. Eine Prioritaet von -1 bzw. 32767 laesst das jedenfalls nicht. Warum also ist das Standard?
Das ist natürlich eine gute Frage und ich halte das auch für eine schlechte Standardpriorität. Bugzilla? -dnh -- 149: Telefon Gerät, das die Person am anderen Ende der Leitung bescheuert macht. (Funktioniert in beide Richtungen) -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
participants (5)
-
David Haller
-
gooly@gmx.at
-
Kyek, Andreas, VF-DE
-
Peter j. P-N
-
Thomas Hertweck