Problèmes et questions concernant le noyau et le support matériel.
Répondre

SSD swap ou fichier d'échange ?

#1Messageil y a 2 ans

Bonjour,

Essais sur PC de 2010 Samsung N210 Atom N450 équipé d'un SSD Samsung 840 series de 250 Go avec 2 Go de Ram.

J'avais fait il y a quelques jours une construction du logiciel art-rawconverter-git sur ce PC avec Manjaro-xfce.
Après 56 minutes à 25% du travail la compilation à plantée, probablement lié au fait qu'il n'y avait pas assez de mémoire ?
J'ai fait la même expérience sous Archlinux-xfce avec un swap de 10 Go et la compilation c'est effectué, en presque 4 heures !
J'ai volontairement créé un gros swap pour un meilleur étalement des écritures et réécritures sur cette partition.
Sous entendu que dans ce cas c'est bien le contrôleur du SSD qui gère l'étalement des données.
A moins qu'avoir un trop gros swap pause d'autres problèmes ?
J'ai ensuite désactivé le swap par précaution.

Alors maintenant mes questions ?
Il est souvent déconseillé de créer un swap sur un SSD, dans ce cas c'est un fichier d'échange qui est créé lors de l'utilisation.
Quelle est vraiment la différence entre un swap et un fichier d'échange, il y a toujours écritures et réécritures ?
La différence que j'y vois est plutôt que dans le cas du fichier d'échange toute la surface libre du SSD peut-être utilisée.
Alors que dans le cas du swap, c'est uniquement la partie réservée (souvent très petite) de cette partition qui est utilisée.
Cela risque donc rapidement de détruire cette partie du SSD, alors pourquoi limiter la taille d'un swap à deux fois la Ram ?
Il serait même possible de remplacer le swap par de la Ram, l'Atom-N450 ne peut en adresser que 2 Go, impossible d'en ajouter.
Je sais bien que remplacer un swap par de la Ram n'a aucun sens lorsque le processeur peut en adresser beaucoup.
Conclusion, avec swap la compilation fonctionne, sans swap elle plante, c'était juste un essai, pour essayer de comprendre.
Il y a donc bien une différence entre l'utilisation d'un swap ou d'un fichier d'échange ?
Je n'ai pas l’intention d'utiliser cette application sur ce petit PC, elle n'est vraiment pas faite pour lui. :lol:

Cordialement.

SSD swap ou fichier d'échange ?

#2Messageil y a 2 ans

Bonjour.
En fait , /tmp est en Ram et occupe par défaut la moitié de celle-ci.
Pamac compile en /tmp donc en Ram. La swap ici n'est que peu sollicitée pour ne pas dire pas du tout. Pour des gros programmes, ça peut effectivement vite saturer.
Perso, pour les grosse compilations, je crée un dossier de travail sur le disque et j'indique son chemin dans les préférences de Pamac, mais généralement, j’utilise git clone et makepkg.
Inutile de créer/agrandir une swap pour ça.

SSD swap ou fichier d'échange ?

#3Messageil y a 2 ans

:salut: Il est possible de remplacer la ram par notre disque avec une simple option
par exemple avec yay:

yay -S Mon-Paquet --builddir="$HOME/.cache/yay/"
Avec pamac nous avons aussi --builddir, voir pamac build -h

----
ps: Ecrire pendant 4 heures dans le swap sur ssd ... :snif

SSD swap ou fichier d'échange ?

#4Messageil y a 2 ans

Bonsoir,
lemust83 a écrit : il y a 2 ans En fait, /tmp est en Ram et occupe par défaut la moitié de celle-ci.
Pamac compile en /tmp donc en Ram. La swap ici n'est que peu sollicitée pour ne pas dire pas du tout. Pour des gros programmes, ça peut effectivement vite saturer.
Peut-être pas avec ce PC et seulement 2 Go de Ram, avec la moitié il ne reste plus que 1 Go ?
lemust83 a écrit : il y a 2 ans Perso, pour les grosse compilations, je crée un dossier de travail sur le disque et j'indique son chemin dans les préférences de Pamac, mais généralement, j’utilise git clone et makepkg.
Inutile de créer/agrandir une swap pour ça.
Si je crée un dossier de travail il sera aussi sur le SSD, ça change quoi ?
papajoke a écrit : il y a 2 ans:salut: Il est possible de remplacer la ram par notre disque avec une simple option
par exemple avec yay:

yay -S Mon-Paquet --builddir="$HOME/.cache/yay/"
Avec pamac nous avons aussi --builddir, voir pamac build -h
Et qu'est-ce que ça change, l'écriture sera toujours sur le SSD ?
Je ne vais plus recommencer cette expérience, c'était juste un essai. :snif
Sur le PC de la signature cela prend environ 5 minutes avec /tmp en Ram, c'est mieux !
papajoke a écrit : il y a 2 ans Ecrire pendant 4 heures dans le swap sur ssd ... :snif
Mon SSD a probablement pris un claque ? :pleure:

Merci à vous deux et bonne soirée. :wink:

SSD swap ou fichier d'échange ?

#5Messageil y a 2 ans

Non tu n'a pas compris comment fonctionne aur :wink:

/tmp est un répertoire/partition virtuel, linux indique 50% de notre ram

df | grep "/tmp"
MAIS : linux est intelligent ! c'est en fait la capacité maxi de ce répertoire virtuel et non effective : si linux a besoin de ram il va "réduire" /tmp/

--------------------

aur, le helpeur fait 4 opérations :
  • télécharger l'archive des sources (.gz) dans /tmp/ (parfois /var/tmp/ avec pamac)
  • décompacter l'archive dans /tmp
  • compiler et mettre le résultat dans /tmp
  • compresser le résultat compilé dans un paquet "pacman"
Si tu utilises /tmp/ (utilisation par défaut) il faut donc beaucoup de place dans tmp car nous avons 4 versions
Si on utilise le disque avec le helpeur : tout ceci est copié sur disque dur/ssd

Avec /tmp/ il faut de la place pour les fichiers et en plus de la place en mémoire pour compiler
Avec le disque nous avons besoin uniquement de la place en mémoire pour compiler (/tmp/ est plus petit donc nous avons pratiquement 2 fois plus de ram pour compiler) et pas de risque que la "partition" /tmp/ soit pleine

---------------
swap: linux est intelligent ! (bis)
linux bascule les app endormies dans la swap et essaye de mettre le programme qui tourne (ton compilateur ici) en ram - Donc, si le besoin en ram est gérable par linux, la swap n'est pas trop sollicitée (une écriture) et ne va pas endommager le ssd. Par contre si le besoin est énorme et/ou on utilise d'autres programmes alors le ssd a plus que chaud (millions d'écritures) car les apps actives dépassent le ram effective...

ps: pour ta machine zram me semble plus adapté

SSD swap ou fichier d'échange ?

#6Messageil y a 2 ans

En résumé !

Si j'avais bien paramétré Manjaro, sans swap la compilation ce serait déroulé normalement, il n’aurait pas planté ?
Si j'avais bien paramétré Archlinux, même sans swap j'aurais également réussi la compilation en moins de 4 heures ?
Il aurait plutôt fallu que j'utilise /var/tmp que /tmp (car trop petit) pour mon cas ou que je crée un autre dossier sur le SSD ?
Je ne vois pas exactement ce que j'aurais pu faire de mieux dans le cas ci-dessus sous Manjaro par exemple ?
J'ai encore beaucoup de lacunes en langage Linux, mais pourtant ce n'est pas par manque d'essayer de comprendre. :snif
Ce soir un grog et au lit le cerveau du retraité est fatigué. :lol::lol::lol:

Merci et bonne soirée. :merci:
Répondre