Vendredi 23 novembre 2018

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 ?

free
             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

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)

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

Patienter quelques minutes

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

mkswap /var/swap.img
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

sudo nano /usr/local/bin/fakeswap.sh
#!/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

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

Exécution

sudo -s
fakeswap.sh

Vérification

free
             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

crontab -e

ajouter la ligne suivante

@reboot /usr/local/bin/fakeswap.sh