[Résolu] Á propos de l'espace d"échange SWAP

Bonjour,

L’espace d"échange SWAP est-il indispensable, quand on a 4 GigaOctets (ou 8) de mémoire vive ?
Sur un PC qui utilise plusieurs distributions Linux, faut-il prévoir une partition « swap » pour chaque distribution ?
Quelle taille donner à sa partition « swap » lorsque l’on a 4 GigaOctets de RAM DDR3 ?

Merci d’avance à qui voudra bien répondre à ces questions.
Je vous souhaite un bon week-end.

Une seule partition SWAP devrait suffire, à moins que tu n’utilises la veille prolongée, il me semble que dans ce cas il en faut une par distribution.
En générale on donne la même taille au SWAP, mais certain plafonne à 1Gb, c’est surtout une question d’espace disque.

Salut
le swap c’est surtout utile si tu veux utiliser l’hibernation

Dans la vie courante il n’y a rien en swap :slight_smile: et là je fais de la conversion video avec winff

@debian:~$ top -d 12

Tasks: 189 total, 1 running, 188 sleeping, 0 stopped, 0 zombie
%Cpu(s): 14,8 us, 3,3 sy, 31,7 ni, 46,6 id, 3,5 wa, 0,0 hi, 0,2 si, 0,0 st
KiB Mem : 3788384 total, 1301176 free, 1015648 used, 1471560 buff/cache
KiB Swap: 7852028 total, 7852028 free, 0 used. 2512720 avail Mem

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
5723 moi 20 0 880084 134868 30048 S 182,4 3,6 26:05.58 ffmpeg
6308 moi 20 0 42720 3732 3064 R 11,8 0,1 0:00.03 top
3043 root 20 0 345764 71992 39968 S 5,9 1,9 1:20.88 Xorg
1 root 20 0 119652 5616 3736 S 0,0 0,1 0:03.59 systemd
2 root 20 0 0 0 0 S 0,0 0,0 0:00.00 kthreadd
3 root 20 0 0 0 0 S 0,0 0,0 0:00.09 ksoftirqd/0
5 root 0 -20 0 0 0 S 0,0 0,0 0:00.00 kworker/0:+
7 root 20 0 0 0 0 S 0,0 0,0 0:02.51 rcu_sched
8 root 20 0 0 0 0 S 0,0 0,0 0:00.00 rcu_bh
9 root rt 0 0 0 0 S 0,0 0,0 0:00.02 migration/0

@debianhadic et @grandtoubab,

merci pour vos réponses.
Voilà, grâce à toi, debianhadic, et à toi, grandtoubab, je me conforte dans mon interprétation du swap.

Je vous souhaite un bon week-end à tous les deux (même s’il pleut).

Par defaut Debian est réglé à 60 ce qui peut provoquer l’utilisation du swap alors que beaucoup de RAM reste disponible

cat /proc/sys/vm/swappiness

il y a un réglage qui permet de réduire l’eventuelle utilisation du swap hors hibernation

echo vm.swappiness=5 | sudo tee -a /etc/sysctl.conf

Pris en compte au démarrage suivant

Le swap est indispensable si la quantité de mémoire virtuelle nécessaire au bon fonctionnement du système et des programmes est supérieure à la quantité de RAM disponible. Selon l’utilisation de la machine, il peut donc l’être avec 32 Go de RAM ou ne pas l’être avec 1 Go.

Un swap peut être commun mais avec deux caveat :

  • l’installateur Debian (et peut-être d’autres distributions) reformate obligatoirement toute partition marquée à utiliser comme swap, ce qui change son UUID avec pour conséquence possible qu’un système déjà installé qui l’utilise et la reconnaît pas son UUID ne la reconnaîtra plus ;
  • si un système se met en hibernation (suspend-to-disk) dans le swap, il faudra impérativement redémarrer sur ce même système à la reprise.

Cela dépend de la quantité de mémoire virtuelle nécessaire au bon fonctionnement du système et des programmes. Pour l’hibernation, il vaut mieux prévoir une taille de swap égale au moins à la taille de la RAM.

Yahallo,
Concrètement et pour faire simple, c’est surtout le cache qui prend masse… Donc au pire des cas, tu fais un script qui, toutes les 45 minutes vide le cache et c’est bon, pas besoin de swap…

Aucun intérêt, le cache se vide tout seul en cas de besoin.
Il vaut mieux swapper ce qui ne sert pas beaucoup et laisser en cache ce qui sert beaucoup.

C’est pas tout à fait vrai… Il reste toujours des mégaoctets survivants… Autrement je n’aurai pas proposé cette idée. :slight_smile:

Me concernant, même en quittant une app’, il me reste encore masse de cache…

Si ce n’est pas tout-à-fait vrai, alors ça l’est en grande partie.

Qu’appelles-tu “mégaoctets survivants” ?

C’est juste en grande partie lorsque tu fermes une application que tu as très peu utilisé.

Je pourrais pas te dire là comme ça, mais je pars de 500mo à 1,5G et quand je ferme toutes mes app (firefox, skype, atom) j’en reste à 1G environ, plus ou moins.

Evidemment. C’est le principe du cache. Ainsi si tu relances cette application tout est déjà en mémoire, pas besoin d’accès disque.

Ayant réalisé un test, même après 1h à le laisser rien faire, la RAM se vidait pas pour autant.

Donc pour en conclure, le mieux est de créer un script cron 45min pour vider tout ça.

Ça évitera d’avoir 8Mo totalement useless sur ton swap (source : encore moi XD)

En quoi est-ce gênant ?
Je suis même surpris que le cache diminue quand tu fermes une application.

Bien sûr que non. Pourquoi le cache devrait-il se vider tant que le système n’a pas besoin de la mémoire pour autre chose ?

Non. C’est mauvais pour les performances.

Ces 8 Mo dans le swap sont des données qui ont été mises en mémoire mais qui ne sont plus utilisées. Il est donc plus efficace de les décharger dans le swap et d’allouer la mémoire à quelque chose de plus utile, comme le cache par exemple afin de diminuer les accès disque.

tu disais tout à l’heure que le cache se vidait automatiquement, pourquoi es-tu surpris ?

On fait avec ce qu’on a…[quote=“PascalHambourg, post:14, topic:70200”]
Ces 8 Mo dans le swap sont des données qui ont été mises en mémoire mais qui ne sont plus utilisées. Il est donc plus efficace de les décharger dans le swap et d’allouer la mémoire à quelque chose de plus utile, comme le cache par exemple afin de diminuer les accès disque.
[/quote]

Ah, pas bête !

Donc il y a aussi l’option de faire un script qui off/on le swap, que je recommande, merci @PascalHambourg

swapoff -a;swapon -a

J’avais ajouté “en cas de besoin”. Laisser l’ordinateur ne rien faire ne nécessite pas de mémoire.

En effet, les développeurs qui ont écrit la gestion de la mémoire du noyau ne sont pas des imbéciles.

Encore une mauvaise idée qui va augmenter les accès disque et diminuer la mémoire disponible.
La majeure partie du cache est de la mémoire disponible.

Pour optimiser les performances, le but n’est pas d’utiliser le moins de mémoire possible mais au contraire d’utiliser toute la mémoire disponible pour minimiser les accès disque.

On s’éloigne du sujet attention.

En fait, il a demandé si le swap était bien utile.

Donc revenons au sujet : non, tu n’es pas forcé de configurer un swap avec autant de RAM.

Bien-entendu, ça dépend de tes utilisations.

Adjugé.

Et qui a fait dévier le sujet vers le vidage du cache ?

Plus exactement il a demandé si le swap était indispensable, ce à quoi plusieurs éléments de réponse ont été apportés.
Utile, il l’est sans conteste.

Yep, je me suis mal exprimé.

OK - Merci pour toutes vos infos. Je clos le sujet : mon pb est résolu.

Bon week-end à tous !