OVH Cloud OVH Cloud

SWAP

7 réponses
Avatar
steph
Bonjour,

malgré une partition de swap déclarée de 2Go dans /etc/fstab, mon linux ne swap
pas. Du moins d'après les infos données pa top.
Est-ce normal.

Merci de vos lumières.
--
stephane
retirez les lettres majuscules et le 666 de l'adresse pour l'utiliser.

7 réponses

Avatar
c
steph s'est posé la question :

malgré une partition de swap déclarée de 2Go dans /etc/fstab, mon
linux ne swap pas. Du moins d'après les infos données pa top.
Est-ce normal.


Ben, si tu as assez de RAM, c'est normal qu'il ne swappe pas, non ?

Avatar
J. Mayer
On Fri, 11 Jul 2003 16:39:45 +0200, Christophe Czayka wrote:

à moins d'avoir 1GO de RAM mini, la taille de la partition swap à
déclarer n'excède pas 2 fois la RAM, et si tu as 1GO de RAM, la swap
risque fort de ne pas être sollicitée...



Une légende encore vivace...
La limitation du swap au double de la RAM n'existe plus
depuis le kernel 2.2 !!!
Pour info, certains mettent un disque complet pour le swap
(du genre 60 Go), et on peux garantir qu'ils n'ont pas
30 Go de RAM !

L'idéal, pour ceux qui ont de la place disque, c'est
une partition de swap de 3Go - memsize
ou memsize est la taille de la mémoire physique.
Pourquoi ?
Et bien, Linux gère par défaut 3Go d'espace mémoire addressable
pour les processes.
Si le noyau est configuré en highmem, le calcul devient:
max=3Go + highmem_size - memsize (négligeable).
Bien sur, si on met plus, ça marchera, mais le reste du swap
ne sera jamais utilisé.

Les calculs indiqués sont un peu simplistes:
il faudrait tenir compte de la RAM occupée par le kernel et les
modules. Mais, comme c'est dynamique et dur à evaluer,
ce n'est pas un problème de ne pas en tenir compte
(ça gache quelques Mo de disque).
Pour info, dès que j'ai un peu de place, je met 4Go de swap,
c'est un bon compromis, quelle que soit la config du kernel.

J. Mayer.

steph a écrit:
Bonjour,

malgré une partition de swap déclarée de 2Go dans /etc/fstab, mon linux
ne swap pas. Du moins d'après les infos données pa top.
Est-ce normal.

Merci de vos lumières.




Avatar
J. Mayer
On Fri, 11 Jul 2003 17:00:01 +0200, Remi Moyen wrote:

On Fri, 11 Jul 2003, Christophe Czayka wrote:
Ça dépend ce qui tourne sur la machine, mais il n'est pas si difficile que
ça d'occupper plus d'un Go de RAM, pour peu qu'on lance un truc style
VmWare et une ou deux grosse applications à coté (un gimp sur des grosses
images, par exemple).

XFree suffit largement:

mise en pratique: je bosse sur 12 bureaux en 3200x1200 (dual-head).
Bilan: ~460 Mo pour X. Et bien, aussi étonnant que celà soit,
ça swappe :=)

Ceci dit, sur une utilisation plus calme, ça n'a effectivement rien
d'étonnant qu'il ne swappe pas.

malgré une partition de swap déclarée de 2Go dans /etc/fstab, mon linux
ne swap pas. Du moins d'après les infos données pa top.



Veux-tu dire par là qu'il ne voit pas tes 2 Go de swap, ou qu'il ne les
utilise pas ? Dans le second cas, les réponses ont déjà été données. Dans
le premier, as-tu pensé à activer ta partition de swap, si tu l'as créée à
la main ?
Très juste:

cat /proc/meminfo
si SwapTotal = 0
alors, essaye un:
swapon -a

D'autre part, Linux est plus malin qu'on ne le croie:
la partition de swap ne sert que pour les data.
Le code est swapé là ou il est déjà:
dans le fichier qui contient l'executable.
Bilan: swapper des programes ne coute que la taille du code...

Cordialement.

J. Mayer



Avatar
Seku
oui mais bon :p sacrifier 3go d'espace disque, surtout sur l'espace le
plus rapide du disque (la où on fout généralement sa swap quoi ^^)
C'est quand même pas rien :p
Quand jvé acheter un 120go ca sera ptet autre chose ^^
Avatar
J. Mayer
On Fri, 11 Jul 2003 14:41:17 -0400, Seku wrote:

oui mais bon :p sacrifier 3go d'espace disque, surtout sur l'espace le
plus rapide du disque (la où on fout généralement sa swap quoi ^^)
C'est quand même pas rien :p
Quand jvé acheter un 120go ca sera ptet autre chose ^^
Oui, il faut adapter la taille du swap à la taille du disque.

J'ai l'habitude des machines avec 200 à 300 Go de disque,
et j'ai pris de mauvaises habitudes :=)
Sur des petites config, je met plutôt entre 512Mo et 1Go
de swap.
Pour info, sur les disques modernes, la fameuse optimisation
qui consiste à mettre le swap en début du disque pour qu'il soit
plus rapide est maintenant illusoire. En effet, pour améliorer la
durée de vie, les blocs sont alloués dynamiquement au fur et à
mesure de leur utilisation par le controleur du disque,
ce qui permet d'éliminer et de masquer les fameux bad-blocks.
Grosso-modo, pour ceux qui connaissent, ça marche un peu comme
le FTL/NFTL des flashs.
IBM reconnaissait mettre 30% de blocs en plus de la taille réelle
pour celà... Ce qui fait que les blocs qui servent réellement
peuvent être absolument n'importe ou physiquement sur le disque
après un certain temps d'utilisation du disque.

Cordialement.

J. Mayer

Avatar
Nicolas Peninguy
Hello,

J. Mayer wrote:

XFree suffit largement:
mise en pratique: je bosse sur 12 bureaux en 3200x1200 (dual-head).
Bilan: ~460 Mo pour X. Et bien, aussi étonnant que celà soit,
ça swappe :=)


C'est une FAQ de chez FAQ, c'est pas parce que top me dit

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ Command
832 root 7 -10 169m 10m 7488 S 4.3 4.3 12:06.37 XFree86

que XFree prends 169Mo de RAM.

Avatar
J. Mayer
On Sun, 13 Jul 2003 15:15:14 +0200, Nicolas Peninguy wrote:

Hello,

J. Mayer wrote:

XFree suffit largement:
mise en pratique: je bosse sur 12 bureaux en 3200x1200 (dual-head).
Bilan: ~460 Mo pour X. Et bien, aussi étonnant que celà soit,
ça swappe :=)


C'est une FAQ de chez FAQ, c'est pas parce que top me dit

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ Command
832 root 7 -10 169m 10m 7488 S 4.3 4.3 12:06.37 XFree86

que XFree prends 169Mo de RAM.


Effectivement. Il ne consome que 10 Mo de RAM physique,
mais est succeptible a tout moment d'en consomer 169 Mo.
Les 169 Mo sont soit swappes, soit alloues et jamais
utilises (mais, ca, ca ressemble a un bug, donc peu probable...)
D'autre part les 7,4 Mo shared sont partages avec d'autres
applications.

Tout ceci fait qu'il est strictement impossible d'evaluer
la memoire disponible sur des systemes tels que Linux...
Meme le kernel ne peut pas le faire !
Quand on demande de la Ram, il est oblige d'essayer pour savoir
si c'est possible...
Mais c'est une consequence tout a fait normale de son style de
gestion de la memoire virtuelle...

Cordialement.

J. Mayer