Swap to RAM

Si votre ordi est lent avec de nombreux accès disque, il est possible que ce soit parce que les données auxquelles vous voulez accéder sont en Swap (sur disque dur) et non en RAM. Le temps d’accès au disque dur pouvant être horriblement long (sur un disque 2.5″ de portable ou une carte SD par exemple)

On peut avoir des information sur l’usage de la RAM et du Swap avec la commande :

free -h

Mais ca ne vous dit pas quels processus utilisent le Swap. Pour avoir cette info, vous pouvez regarder manuellement dans les fichiers /proc/PID/status. Mais cette commande fait le travail pour vous et vous donne l’info pour tous les processus par ordre croissant :

for file in /proc/*/status ; do awk '/Tgid|VmSwap|Name/{printf $2 " " $3}END{ print ""}' $file; done | grep kB | sort -k 3 -n

Vous pouvez forcer Linux à bouger les données du Swap en RAM. L’astuce consiste à désactiver le Swap en live (assurez vous donc d’avoir assez d’espace libre en RAM avant) et à le réactiver:

swapoff -a

On peut ensuite le réactiver si on veut :

swapon -a

8 réactions sur “ Swap to RAM ”

  1. Ping Swap to RAM – SVNET Libre

  2. Ed

    Sinon il y a l’ancestrale commande top, option d’affichage (f), ajouter la colonne Swap

    L’astuce utilme serait de faire un tmpfs, et y mettre un ficher SWAP. C’est une blague débile, mais au moins la SWAP serait rapide, vu qu’elle serait en RAM ;)

    ps: configurer le swapiness peut être intéressant pour que le kernel tente moins d’utiliser la SWAP

  3. Breizh

    @Ed : l’astuce ultimement débile ? Si la RAM est pleine, tu swapes comment ^^’ ?

  4. Naziel

    Bonjour,

    Si le swap est utilisé, c’est parce que
    – soit le swapiness est mal réglé (par défaut sur Ubuntu, le swap peut être utilisé lorsque 40% de la RAM est utilisée), on peut se reporter à la page « swap » de la doc ubuntu francophone pour le régler: https://doc.ubuntu-fr.org/swap#ameliorer_l_utilisation_du_fichier_d_echange_swap (dans mon cas le swap peut être utilisé lorsque 95% de la RAM est utilisé)
    – soit il n’y a pas assez de RAM, dans ce cas, bah il faut en rajouter (parce que c’est pas génial pour le disque dur les écritures à répétition)

    Donc en résumé, +1 pour régler le swapiness

  5. Tuxicoman

    Le swap en RAM, je ne vois pas l’intérêt. Si ca swappe c’est qu’il n’y pas assez de RAM justement.

  6. Krapace

    @Tuxicoman justement non, c’est pas nécessairement le cas. Java est coutumier du fait, remplir la swap alors qu’il reste 50% de RAM.

  7. Legaume

    @Breizh + @Tuxicoman

    à propos de mettre la swap sur un ramdisk, Ed a précisé que c’était effectivement une blague.

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.