SSD et swap sur Linux (Ubuntu et variantes, Manjaro, etc…)

l’Almanet doLys Gnu/Linux – Open Source – Entreprises Forums L’almanet doLys Open Source SSD et swap sur Linux (Ubuntu et variantes, Manjaro, etc…)

Mots-clés : , , , , ,

10 sujets de 1 à 10 (sur un total de 10)
  • Auteur
    Articles
  • #1327
    nam1962nam1962
    Keymaster

    SSD et swap ne sont pas très copains..

    Si vous utilisez un SSD, swapper activement dessus peut-être fatal (même si les SSD modernes sont plus robustes que les premières générations.)

    SSD-logo
    Il est alors judicieux,

    • soit de mettre la partition swap sur un disque dur classique, (dans ce cas, modifiez la swappiness à 5 dans la commande ci-dessous)
    • soit de régler votre swappiness à 1 pour limiter la swap  ça ne devrait pas trop fatiguer votre SSD et éviter de rares blocages : on évite de swapper plutôt qu’interdire de swapper)

    Donc si vous n’avez qu’un SSD, passez :

    echo vm.swappiness=1 | sudo tee /etc/sysctl.d/99-swappiness.conf 
    echo vm.vfs_cache_pressure=50 | sudo tee -a /etc/sysctl.d/99-swappiness.conf
    sudo sysctl -p /etc/sysctl.d/99-swappiness.conf

    N’hésitez pas à indiquer si ce réglage est satisfaisant pour vous.

    Même si vous avez 8Go de RAM ou plus, pensez à ce réglage et à une swap ou /swapfile d’au moins la moitie de votre RAM (sous 4Go, la taille de la RAM, sous 2Go, quasi le double)
    Personnellement, j’utilise systemd-swap, pour régler ce script afin utiliser zram qui peut être judicieux pour un SSD (et désactiver zswap : les deux ne doivent pas cohabiter) il faudra amender ce que je conseille pour /etc/systemd/swap.conf.d/overrides.conf.

    Pour comprendre les cas d’utilisation de zram et zswap : https://askubuntu.com/questions/471912/ … 227#472227

    Un jeune site que j'aime bien, la ferrari du T-shirt ...bio en plus : GoudronBlanc

    #11733
    AvatarRiQ
    Participant

    configuration pour SSD, suite:

    d’ abord,
    pour la convivialité:
    – passer: sudo apt install gedit

    – Dans Menu/Gestionnaire de Paramètres> Applications favorites / Utilitaires / Emulateur de terminal: sélectionner « Terminal Gnome » ( fond blanc, bonne taille de police, copier/coller fonctionne )

    Au boulot !:

    – configurer Trim:
    passer:
    echo -e « #\x21/bin/sh\\nfstrim -v / » | sudo tee /etc/cron.daily/trim
    puis:
    sudo chmod +x /etc/cron.daily/trim

    – il faut laisser au minimum 5% du ssd vide (non formaté)
    Si l’ installation est déjà faite, à l’ aide de GParted, réduire la taille de la partition de droite pour libérer 5% de la capacité du SSD.

    – en passant: sudo gedit /etc/fstab, vérifier si la partition swap est inactive: la dernière ligne devrait être:
    /swapfile none swap sw 0 0

    – profiter de l’ occasion pour accélérer le démarrage:
    compléter errors=remount par noatime,discard,errors=remount

    suivi de:
    sudo gedit /etc/default/grub
    et modifier GRUB_CMDLINE_LINUX_DEFAULT= »elevator=quiet splash »
    à GRUB_CMDLINE_LINUX_DEFAULT= »elevator=deadline quiet splash noresume »
    puis :
    sudo update-grub
    puis: redémarrer

    – La mise en veille ou l’ hibernation sont mortels pour le SSD, donc, supprimer les boutons dans l’ écran de déconnection:
    passer:
    xfconf-query -c xfce4-session -np ‘/shutdown/ShowSuspend’ -t ‘bool’ -s ‘false’
    puis:
    xfconf-query -c xfce4-session -np ‘/shutdown/ShowHibernate’ -t ‘bool’ -s ‘false’
    puis:
    xfconf-query -l
    puis:
    sudo mkdir -v /etc/xdg/xfce4/kiosk
    sudo touch /etc/xdg/xfce4/kiosk/kioskrc
    sudo gedit /etc/xdg/xfce4/kiosk/kioskrc
    copier/coller:
    [xfce4-session]
    SaveSession=NONE
    et sauver

    – Aussi, limiter les écritures inutiles causées par les navigateurs:

    utiliser des bloqueurs de pub genre Ghostery , Adblock Plus, et Privacy Badger ( les 3 fonctionnent parfaitement simultanément ! )

    pour Firefox, taper about:config dans la barre d’ adresse
    « accepter le risque »
    Tout afficher
    chercher: browser.cache.disk.enable
    basculer en « false »
    chercher browser.cache.memory.enable
    basculer en « true »
    chercher chercher browser.cache.memory.capacity
    éditer 75000 au lieu de -1
    fermer Firefox

    pour Chromium ( dorénavant uniquement installable via « snap » ):
    créer un lanceur
    la commande dans le lançeur sera:
    env BAMF_DESKTOP_FILE_HINT=/var/lib/snapd/desktop/applications/chromium_chromium.desktop /snap/bin/chromium %U
    remplacer par: chromium-browser –disk-cache-size=1 –media-cache-size=1 %U

    Redémarrer….
    et voilà le travail !

    #11767
    andsoandso
    Participant

    salut nam,
    toujours pas d’ accord avec ce réglage du swappiness

    ou le raleur rale

    tu te plantes en supposant que ce réglage est linéaire,
    ce que dit raleur:
    raleur :
    60 est la valeur par défaut du noyau Linux, elle n’est pas spécifique à Debian. Je répète que cette valeur ne correspond pas du tout à un seuil d’occupation de la mémoire. Il suffit d’examiner la sortie de la commande free pour le voir. Cela n’aurait aucun sens de laisser 60% par défaut de la mémoire libre (donc inutilisée), cela reviendrait à avoir 60% de mémoire en moins !

    La mémoire est faite pour être utilisée. TOUTE la mémoire. La mémoire libre est de la mémoire gaspillée.

    La mémoire est divisée en pages. En simplifiant à l’extrême, les pages mémoire se répartissent en deux catégories :

    les pages “anonymes” contenant les données des processus,
    les pages de cache contenant des données liées au système de fichiers, qui se répartissent elles-même en plusieurs catégories (pagecache, dentries, inodes) mais je n’entrerai pas dans les détails.

    Toutes les données lues ou écrites sur le système de fichiers sont mises en cache en mémoire. En lecture, cela permet d’accèder plus rapidement aux données déjà en cache sans avoir besoin de les recharger depuis le disque. En écriture, cela permet de ne pas attendre que les données soient effectivement écrites sur le disque.

    Quand le noyau a besoin d’allouer de la mémoire et que la mémoire libre est en deçà d’un certains seuil (qui n’a rien à voir avec vm.swappiness, je le répète), il va lancer une procédure “d’éviction” pour libérer de la mémoire. L’éviction consiste à décharger des données de la mémoire. Les pages candidates à l’éviction sont dans les deux catégories citées précédemment : les pages anonymes et les pages de cache. Les pages de cache contiennent des données qui sont déjà stockées sur disque ou qui ont vocation à y être stockées (écritures en attente). Les données déjà stockées sur disque peuvent être immédiatement supprimées, et celles en attente d’écriture sur disque peuvent être écrites puis supprimées.

    Les pages anonymes, en revanche, ne sont pas associées au système de fichiers. Avant de les décharger de la mémoire, elles doivent être écrites dans un espace du disque appelé “espace d’échange” ou swap. La encore, les pages qui ont été écrites dans le swap puis rechargées et utilisées sans être modifiées peuvent être immédiatement supprimées, alors que les pages qui n’ont jamais été écrites dans le swap ou qui ont été modifiées depuis leur précédente écriture doivent être écrites sur disque avant d’être supprimées.

    On peut constater une similitude des mécanismes d’échange entre les pages anonymes et le swap d’une part, et les pages de cache et le système de fichiers d’autre part. D’une certaine façon on pourrait dire que les pages anonymes sont le cache du swap.

    La valeur de vm.swappiness n’influe que sur la préférence du noyau à évincer des pages de cache (si valeur basse) ou anonymes (si valeur élevée). Mais ce n’est pas le seul critère qui entre en compte. Le noyau peut préférer swapper une page anonyme qui n’a pas été utilisée depuis longtemps plutôt qu’une page de cache qui a été utilisée récemment et a donc une plus grande probabilité d’être utilisée à nouveau.

    #11769
    Avatarbicounet18
    Participant

    Bonjour,
    Sous Manjaro, le fichier /etc/cron.daily/trim n’est pas nécessaire.
    pour activer Trim :
    sudo systemctl enable fstrim.timer
    Redémarrer pour activer Trim
    Vérification :

    systemctl status fstrim.timer
    fstrim.timer - Discard unused blocks once a week
         Loaded: loaded (/usr/lib/systemd/system/fstrim.timer; enabled; vendor preset: disabled)
         Active: active (waiting) since Fri 2020-06-05 14:11:03 CEST; 2min 50s ago
        Trigger: Mon 2020-06-08 00:00:00 CEST; 2 days left
       Triggers: ● fstrim.service
           Docs: man:fstrim

    1 fois par semaine la fonction Trim sera activée pour optimiser le SSD.

    #11770
    AvatarRiQ
    Participant

    les choses évoluent…
    à propos de Chromium, je disais:
    ==================================================================
    pour Chromium ( dorénavant uniquement installable via “snap” ):
    créer un lanceur
    la commande dans le lançeur sera:
    env BAMF_DESKTOP_FILE_HINT=/var/lib/snapd/desktop/applications/chromium_chromium.desktop /snap/bin/chromium %U

    remplacer par: chromium-browser –disk-cache-size=1 –media-cache-size=1 %U
    ===================================================================
    en fait, je me suis planté dans le cadre de cette évolution ( >explication ), dans la mesure ou j’ ai installé chromium avant la nouvelle contrainte de l’ installation par « snap »

    en fait , dorénavant, si on installe chromium via « snap », la commande du lanceur sera:
    chromium-browser –disk-cache-size=1 –media-cache-size=1 %U
    pour ménager l’ usure du SSD

    à propos du commentaire de bicounet18, c’ est une bonne option…

    à propos du commentaire d’ andso, je pense que si on ne configure pas de swap ( dans fstab ), et avec le réglage que je préconise, il n’ y a aucun souci d’ usure du SSD, y’a qu’à surveiller le plugin « graphique processeur » pour voir qu’ il n’y a pas de « swapping »…., et tout débordement est géré en RAM ( à condition d’en avoir assez )
    je fais du montage vidéo, en gonflant le cache, et je surveille en travaillant….

    Y’a une opacité comment Windoze(10) gère ça, par rapport à l’ usure du SSD, peut-être qu’ on plante le système quand la RAM est saturée ( en fait, je veux pas le savoir, avec leur système NFTS de défragmentation, fatiguant pour le SSD )

    Peut-être, que pour les logiciels d’ édition photo – vidéo, le DD 7200 tpm est toujours plus pérène que le SSD…à voir… Dans ce cas, l’ idéal est d’avoir une « bécane bi » avec un SSD et un DD en parallèle
    ( certains portables font de la place pour 2 disques aussi )

    #11800
    Avatarbicounet18
    Participant

    On peut également supprimer le bouton « Mise en veille Hybride » dans l’écran de déconnexion avec :
    xfconf-query -c xfce4-session -np ‘/shutdown/ShowHybridSleep’ -t ‘bool’ -s ‘false’

    #12079
    andsoandso
    Participant

    bonjour RiQ post 11733
    je ne vois pas en quoi le suspend to ram (mise en veille)
    peut nuire au ssd ?

    #12082
    AvatarRiQ
    Participant

    Voici,

    la mécanique de la mise en veille est la suivante:

    maintien du contenu du RAM, + création d’ une image du système, gardé en RAM, s’ il y a assez de place….

    S’ il y a un risque de manque de mémoire vive, ou de risque de perte d’ alimentation,

    provoquant une perte irréversible de données;

    il vaut mieux configurer le système pour que l’ instantané soit enregistré en swap.

    Comme il n’ est pas recommandé d’ utiliser un swap avec un SSD, pour ne pas « user » cette partition,

    l’ alternative est de créer un dossier /swap, + configuration nécessaire, mais cette configuration

    risque de causer un « mal au casque » au moment du réveil…, et de toute façon compliqué à configurer….

    Perso, je n’ utilise pas de mise en veille, pour éviter les tracas de ce genre….

    ça ne coûte que 30 secondes pour sauver et fermer le travail en cours, puis de redémarrer l’ ordi plus tard.

    Y’ a qu’à lire les articles suivants pour comprendre:

    https://www.kernel.org/doc/html/latest/power/swsusp.html

    Straightforward tutorial on how to set up hibernation without a swap partition (swapfile) from linux

    J’aime le diction:

    « ça sert à rien de secouer, la dernière goutte est toujours dans la culotte »

    #12093
    andsoandso
    Participant

    bonjour,
    je maintiens mon dire:
    le suspend to ram géle le systéme
    il y a forcémént assez de ram puisque celà « fonctionne »
    et pas d’ utilisation du /swap
    donc le ssd n’ est en aucune maniére sollicité!

    faut arrêter de raconter des conneries

    salutations

    #12427
    nam1962nam1962
    Keymaster

    @andso , @RiQ , @bicounet18 : j’ai résumé ce que j’ai pigé de l’activation de TRIM là : https://dolys.fr/forums/topic/1327/

    Ok pour vous ?

    Un jeune site que j'aime bien, la ferrari du T-shirt ...bio en plus : GoudronBlanc

10 sujets de 1 à 10 (sur un total de 10)
  • Vous devez être connecté pour répondre à ce sujet.