Quel système de fichiers est échangé sur Linux

Dans Linux, vous pouvez choisir des choses comme ext3 et reiserfs pour les partitions. Pour la partition swap, vous choisissez simplement "swap". Quel système de fichiers est-ce, en fait? Pouvez-vous simplement créer une partition ext3 et en faire une partition de swap? Comment cela serait-il différent?

Swap n'est pas un système de fichiers réel. Il s'agit juste d'une partie réservée du disque qui est une mémoire adressable sans structure spéciale.

Mkswap crée un en-tête pour la zone de swap avec des informations supplémentaires. De swapheader.h du paquet util-linux-ng:

 struct swap_header_v1 { char bootbits[1024]; /* Space for disklabel etc. */ unsigned int version; unsigned int last_page; unsigned int nr_badpages; unsigned int padding[125]; unsigned int badpages[1]; }; 

L'en-tête de la version 1 est actuellement utilisé. C'est à propos de toute la magie derrière la structure brute du swap.

Je pense que la partition swap n'a pas besoin d'un système de fichiers car il n'y a pas de fichiers et de répertoires. La partition Swap est la zone de RAM virtuelle.

Linux a deux formes d'espace de swap: la partition de swap et le fichier de swap. La partition swap est une section indépendante du disque dur utilisée uniquement pour l'échange; Aucun autre fichier ne peut y résider. Le fichier d'échange est un fichier spécial dans le système de fichiers qui réside parmi votre système et vos fichiers de données.

L'échange est nécessaire pour deux raisons importantes. Tout d'abord, lorsque le système nécessite plus de mémoire qu'il est physiquement disponible, le noyau écharde des pages moins utilisées et donne de la mémoire à l'application actuelle (processus) qui nécessite la mémoire immédiatement. Deuxièmement, un nombre important de pages utilisées par une application pendant sa phase de démarrage ne peut être utilisé que pour l'initialisation et ne jamais être utilisé à nouveau. Le système peut échanger ces pages et libérer la mémoire pour d'autres applications ou même pour le cache du disque.

Il existe deux façons de créer un espace de swap: échange de système de fichiers et échange de périphérique (ou brut). Avec l'échange de système de fichiers, vous créez un fichier sur un système de fichiers et l'utilisez comme espace de swap (tout comme vous verriez sur Windows avec pagefile.sys). Avec l'échange de périphérique, vous échangez avec une partition que vous avez créée spécifiquement pour le swap.

Ce qui est mieux:

Ce débat était beaucoup plus intéressant dans les «vieux» jours parce que:

Pourquoi l'échange d'appareil est «meilleur»: puisque vous échangez avec une partition brute, il est plus rapide car vous n'avez pas à gérer tous les frais généraux supplémentaires d'un système de fichiers avec des inodes et d'autres systèmes de fichiers

Aujourd'hui, cependant, cet argument ne tient pas vraiment. Avec l'évolution de la rapidité avec laquelle l'accès au disque est de nos jours, le swap de périphérique ne vous achète pas beaucoup plus de temps que le swap de système de fichiers.

Pourquoi l'échange de système de fichiers est "meilleur": beaucoup plus facile à changer de taille. Lorsque vous modifiez les tailles de partition, il est beaucoup plus difficile que de créer de nouveaux fichiers.

Aujourd'hui cependant, avec beaucoup de personnes utilisant LVM au lieu de partitions brutes, il est facile de réduire et de développer votre espace de swap

AUJOURD'HUI, il est encore plus discutable: la plupart des serveurs ces jours-ci pour des raisons de performance, cela vaut le coût juste pour le brancher de mémoire. (Ce débat était beaucoup plus populaire lorsque RAM était plus difficile à trouver et il était commun de ne mettre que 4 Go à 8 Go de RAM dans un serveur)

POURQUOI J'utilise le SWAP de FILESYSTEM (et permute en général)

Ces jours-ci, je demande à nos gars d'installer avec 4gig swap onl et nous utilisons la même configuration / image pour toutes nos installations linux. L'installation d'Oracle requiert une utilisation de swap plus élevée, alors, pour les systèmes qui auront Oracle, je créerai le reste avec un échange de système de fichiers. Il est possible que votre application puisse avoir un swap requis, auquel cas vous pouvez l'ajouter ultérieurement avec un échange de système de fichiers.

est-ce que cela aide?

J'ai des instructions détaillées sur la façon de le faire dans linux ici: http://geekswing.com/geek/how-to-add-filesystem-swap-on-linux-and-unix-systems/