Plan du site  
pixel
pixel

Articles - Étudiants SUPINFO

Ajouter du Swap sous Ubuntu

Par Maxime POULLAIN Publié le 28/10/2015 à 18:41:50 Noter cet article:
(0 votes)
Avis favorable du comité de lecture

Introduction

Une des meilleures façons d'accroître la réactivité de votre serveur et de se prémunir contre des erreurs de mémoire dans vos applications et donc d'ajouter un peu d'espace de swap. Le Swap est une zone sur un disque dur qui a été désigné comme un endroit où le système d'exploitation peut stocker temporairement des données qu'il ne peut plus tenir dans la mémoire RAM. Fondamentalement, cela vous donne la possibilité d'augmenter la quantité d'informations que votre serveur peut garder dans sa «mémoire» de travail, avec certaines réserves. L'espace sur le disque dur sera principalement utilisé lorsque l'espace dans la mémoire RAM ne suffit plus pour les données. Les informations écrites sur le disque sera plus lente que informations conservées dans la RAM, mais le système d'exploitation va préférer conserver les données d'application en cours d'exécution dans la mémoire et utiliser le swap pour les données plus anciennes. Dans l'ensemble, avoir un espace d'échange comme une reserve lorsque la mémoire vive de votre système est épuisée, c'est donc un bon filet de sécurité. Dans ce guide, nous allons couvrir comment créer et activer un fichier d'échange/swap sur un serveur Ubuntu.

Verifier le swap existant

Avant de commencer, nous allons jeter un oeil à notre système d'exploitation pour voir si nous avons déjà un peu d'espace de swap disponible. Nous pouvons avoir des fichiers de swap multiples ou des partitions de swap, mais en général, un seul est suffisant.

Nous pouvons voir si le système dispose deja d'un swap configuré en tapant:

sudo swapon -s

Si vous obtenez seulement l'en-tête du tableau, comme ci-dessous, vous ne disposez pas d'espace swap definis:

Filename                Type        Size    Used    Priority

Une autre façon, plus familiere de la vérification de l'espace de swap est avec l'utilitaire "free", qui nous montre l'utilisation de la mémoire système. Nous pouvons voir notre mémoire actuel et l'utilisation de swap en mégaoctets en tapant:

free -m

Comme vous pouvez le voir ci-dessous, notre espace total de swap dans le système est "0". Cela correspond à ce que nous avons vu avec la commande précédente:

             total       used       free     shared    buffers     cached
Mem:          3953        154       3799          0          8         83
-/+ buffers/cache:         62       3890
Swap:            0          0          0

Verifier l'espace disponible

La façon typique pour allouer de l'espace de swap est d'utiliser une partition séparée consacrée à la tâche. Toutefois, modfier le schéma de partitionnement n'est pas toujours possible. Nous pouvons tout aussi bien créer un fichier de swap qui réside sur une partition existante.

Avant ceci, nous devons être conscients de notre utilisation actuelle du disque. Nous pouvons obtenir cette information en tapant:

df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/vda         59G  1.3G   55G   3% /
none            4.0K     0  4.0K   0% /sys/fs/cgroup
udev            2.0G   12K  2.0G   1% /dev
tmpfs           396M  312K  396M   1% /run
none            5.0M     0  5.0M   0% /run/lock
none            2.0G     0  2.0G   0% /run/shm
none            100M     0  100M   0% /run/user

Comme vous pouvez le voir sur la première ligne, notre partition sur le disque dur est de 55 gigaoctets disponibles, donc nous avons une énorme quantité d'espace pour travailler avec.

Bien qu'il existe beaucoup d'opinions sur la taille appropriée d'un espace d'échange, cela dépend vraiment de vos préférences personnelles et exigences de vos applications. Généralement, un montant égal au double de la quantité de RAM sur votre système est un bon point de départ.

Comme mon système dispose de 4 Go de RAM, et le doublement prendraient une partie importante de mon espace disque qui ne serait pas forcement utilise, je vais créer un espace d'échange de 4 gigaoctets pour correspondre à la RAM de mon système.

Creer un fichier de Swap

Maintenant que nous savons que notre espace disponible sur le disque dur, nous pouvons creer un fichier d'échange au sein de notre système de fichiers.

Nous allons créer un fichier appelé fichier d'échange a la racine (/). Le fichier doit allouer la quantité d'espace que nous voulons pour notre fichier d'échange. Il ya deux principales façons de le faire, je vais seulement pour parler de la maniere la plus rapide de faire:

Le moyen le plus rapide d'obtenir un fichier de swap est en utilisant le programme de fallocate. Cette commande crée un fichier d'une taille préallouée instantanément, sans avoir à écrire le contenu factices:

Nous pouvons créer un fichier de 4 Gigabyte en tapant:

sudo fallocate -l 4G /swapfile

La commande sera retournée presque immédiatement. Nous pouvons vérifier que le montant exact de l'espace a été réservé en tapant:

ls -lh /swapfile
-rw-r--r-- 1 root root 4.0G Apr 28 17:19 /swapfile

Comme vous pouvez le constater, notre fichier est créé avec la bonne quantité d'espace réservé.

Activer le fichier de swap

À l'heure actuelle, notre fichier est créé, mais notre système ne sait pas qu'il est censé être utilisé pour le swap. Nous devons dire à notre système de formater ce fichier swap, puis l'activer.

Avant cela cependant, nous devons ajuster les permissions sur notre fichier de sorte qu'il ne soit pas lisible par quelqu'un d'autre que root. Permettre aux autres utilisateurs de lire ou écrire dans ce fichier serait un énorme risque de sécurité. Nous pouvons verrouiller les autorisations en tapant:

sudo chmod 600 /swapfile

Vérifiez que le fichier dispose des autorisations nécessaires en tapant:

ls -lh /swapfile
-rw------- 1 root root 4.0G Apr 28 17:19 /swapfile

Comme vous pouvez le voir, seules les colonnes pour l'utilisateur root ont la lecture et d'écriture activés.

Maintenant que notre fichier est plus sûr, nous pouvons dire à notre système de configurer l'espace de swap en tapant:

sudo mkswap /swapfile
Setting up swapspace version 1, size = 4194300 KiB
no label, UUID=e2f1e9cf-c0a9-4ed4-b8ab-714b8a7d6944

Notre fichier est maintenant prêt à être utilisé comme un espace de swap. Nous l'activer en tapant:

sudo swapon /swapfile

Nous pouvons vérifier que la procédure a bien fonctionne en vérifiant si notre système signale l'espace de swap:

sudo swapon -s
Filename                Type        Size    Used    Priority
/swapfile               file        4194300 0       -1

Nous avons un nouveau fichier d'échange. Nous pouvons maintenant utiliser l'utilitaire à nouveau "free" pour corroborer nos conclusions:

free -m
             total       used       free     shared    buffers     cached
Mem:          3953        101       3851          0          5         30
-/+ buffers/cache:         66       3887
Swap:         4095          0       4095

Notre swap a été mis en place avec succès et notre système d'exploitation va commencer à l'utiliser des que nécessaire.

Rendre le fichier de Swap permanent

Nous avons notre fichier de swap mis en place, mais au redémarrage, le serveur ne permettra pas automatiquement le fichier. Nous pouvons changer cela en modifiant le fichier "fstab":

sudo nano /etc/fstab

Au bas du fichier, vous devez ajouter une ligne qui va dire au système d'exploitation d'utiliser automatiquement le fichier que vous avez créé:

/swapfile   none    swap    sw    0   0

Enregistrez et fermez le fichier lorsque vous avez terminé.

Vous savez desormais ajouter du swap pour faite tourner au mieux votre systeme Ubuntu!

A propos de SUPINFO | Contacts & adresses | Enseigner à SUPINFO | Presse | Conditions d'utilisation & Copyright | Respect de la vie privée | Investir
Logo de la société Cisco, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société IBM, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Sun-Oracle, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Apple, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Sybase, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Novell, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Intel, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Accenture, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société SAP, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Prometric, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Toeic, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo du IT Academy Program par Microsoft, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management

SUPINFO International University
Ecole d'Informatique - IT School
École Supérieure d'Informatique de Paris, leader en France
La Grande Ecole de l'informatique, du numérique et du management
Fondée en 1965, reconnue par l'État. Titre Bac+5 certifié au niveau I.
SUPINFO International University is globally operated by EDUCINVEST Belgium - Avenue Louise, 534 - 1050 Brussels