Post

How_To_Configure_Virtual_Memory_Swap_File_on_a_VPS

How_To_Configure_Virtual_Memory_Swap_File_on_a_VPS

How_To_Configure_Virtual_Memory_Swap_File_on_a_VPS

2017-06-08-How_To_Configure_Virtual_Memory_Swap_File_on_a_VPS

[How To Configure Virtual Memory (Swap File) on a VPS DigitalOcean](https://www.digitalocean.com/community/tutorials/how-to-configure-virtual-memory-swap-file-on-a-vps)

How To Configure Virtual Memory Swap File on a VPS

La notion de mémoire sur les VPS est douteuse ?

1
free
1
2
3
4
             total       used       free     shared    buffers     cached
Mem:       4194304    4194304          0    1273636          0    2002384
-/+ buffers/cache:    2191920    2002384
Swap:      1048576          0    1048576

Création d’un fichier swap

1
2
3
4
5
6
sudo -s # passage en su
# Créer une image swap
cd /var
touch swap.img
chmod 600 swap.img

Taille

La taille du swap es de 1 à 2 fois la taille mémoire (2 fois de préférence)
Mémoire de 4G –> Swap de 8G (8192K)

1
dd if=/dev/zero of=/var/swap.img bs=8192k count=1000

Patienter quelques minutes

1
2
3
1000+0 enregistrements lus
1000+0 enregistrements écrits
8388608000 octets (8,4 GB) copiés, 74,6915 s, 112 MB/s

Préparation image swap

Initialisation du système de fichier swap

1
mkswap /var/swap.img
1
2
Setting up swapspace version 1, size = 8191996 KiB
no label, UUID=d34b0dda-89e4-46a9-8e38-6c7bf3eb05a0

Activer/Désactiver le swap

Activer : swapon
Désactiver : swapoff

VPS OpenVZ , swapon failed: Opération non permise

Create Fake Swap in OpenVZ VPS if you get swapon failed: Operation not permitted Error

Si vous obtenez un swapon failed: Opération non permise même si vous exécutez en tant que root, c’est parce que dans votre création de swap VPS n’est pas autorisée

Créer un faux swap

Suivez les étapes ci-dessous pour Créer un faux échange dans OpenVZ VPS

1
sudo nano /usr/local/bin/fakeswap.sh
1
2
3
4
5
6
7
8
9
#!/bin/bash

SWAP="${1:-512}"

NEW="$[SWAP*1024]"; TEMP="${NEW//?/ }"; OLD="${TEMP:1}0"

umount /proc/meminfo 2> /dev/null
sed "/^Swap\(Total\|Free\):/s,$OLD,$NEW," /proc/meminfo > /etc/fake_meminfo
mount --bind /etc/fake_meminfo /proc/meminfo

Droits en exécution

1
sudo chmod +x /usr/local/bin/fakeswap.sh

Exécution

1
2
sudo -s
fakeswap.sh

Vérification

1
free
1
2
3
4
             total       used       free     shared    buffers     cached
Mem:       4194304    2262380    1931924    1273636          0     149440
-/+ buffers/cache:    2112940    2081364
Swap:      1048576     669280     379296

Exécution automatique au boot

Pour une exécution automatique au boot

1
crontab -e

ajouter la ligne suivante

1
@reboot /usr/local/bin/fakeswap.sh
Cet article est sous licence CC BY 4.0 par l'auteur.