[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
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
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
Vérification
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
ajouter la ligne suivante
1
| @reboot /usr/local/bin/fakeswap.sh
|