Maison > Article > Tutoriel système > Le secret du répertoire /dev/shm dans les systèmes Linux
Saviez-vous qu'il existe un répertoire spécial dans le système Linux, qui ne se trouve pas sur le disque dur, mais dans la mémoire ? Il s'agit du répertoire /dev/shm, qui vous permet de créer et d'utiliser des fichiers en mémoire, améliorant ainsi la vitesse et l'efficacité de votre système. Cependant, le répertoire /dev/shm n'est pas qu'un simple système de fichiers mémoire, il a de nombreuses autres fonctions et utilisations, telles que la mémoire partagée, la communication inter-processus, les fichiers cryptés, etc. Dans cet article, nous approfondirons les mystères du répertoire /dev/shm afin que vous puissiez mieux l'utiliser pour optimiser votre système Linux.
/dev/shm/ est un répertoire très utile sous Linux, car ce répertoire n'est pas sur le disque dur, mais en mémoire. Par conséquent, sous Linux, il n'est pas nécessaire de faire de grands efforts pour construire un disque virtuel. Vous pouvez obtenir de bons résultats d'optimisation en utilisant directement /dev/shm/. Une chose à noter à propos de /dev /shm/ est le problème de capacité sous Linux, la valeur par défaut est la moitié de la taille de la mémoire, ce qui peut être vu en utilisant la commande df -h. Mais il n'occupe pas vraiment cette mémoire. S'il n'y a pas de fichiers sous /dev/shm/, la mémoire qu'il occupe est en fait de 0 octet ; si elle fait jusqu'à 1 Go et qu'il contient 100 Mo de fichiers, les 900 Mo restants peuvent toujours être utilisés. être utilisé par d'autres applications, mais les 100 Mo de mémoire qu'il occupe ne seront jamais recyclés et redivisés par le système, sinon qui oserait y stocker des fichiers ?
Par défaut, le système chargera /dev/shm, appelé tmpfs. Certaines personnes disent que c'est similaire au disque virtuel (disque virtuel), mais c'est différent. Comme un disque virtuel, tmpfs peut utiliser votre RAM, mais il peut également utiliser votre partition d'échange pour le stockage. De plus, un disque virtuel traditionnel est un périphérique bloc et nécessite une commande telle que mkfs pour l'utiliser. tmpfs est un système de fichiers, pas un périphérique bloc, il suffit de l'installer et il est prêt à être utilisé.
tmpfs présente les avantages suivants :
1. La taille du système de fichiers dynamique.
2. Un autre avantage majeur de tmpfs est sa vitesse fulgurante. Étant donné qu'un système de fichiers tmpfs typique résidera entièrement dans la RAM, les lectures et les écritures peuvent être presque instantanées.
3. Les données tmpfs ne seront pas conservées après le redémarrage car la mémoire virtuelle est intrinsèquement volatile. Il est donc nécessaire de créer des scripts pour effectuer des opérations telles que le chargement et la liaison.
La taille maximale de la moitié de la mémoire par défaut peut ne pas être suffisante dans certaines situations, et le nombre d'inodes par défaut est très faible et doit généralement être augmenté. Dans ce cas, vous pouvez utiliser la commande mount pour le gérer.
#mount -o size=1500M -o nr_inodes=1000000 -o noatime,nodiratime -o remount /dev/shm
Sur une machine 2G, ajustez la capacité maximale à 1,5G et le nombre d'inodes à 1 000 000, ce qui signifie que jusqu'à un million de petits fichiers peuvent être stockés.
Si vous devez modifier définitivement la valeur de /dev/shm, vous devez modifier /etc/fstab
tmpfs /dev/shm tmpfs par défaut, taille = 1,5G 0 0
#mount -o remonter /dev/shm
Créez d'abord un dossier tmp dans /dev/shm, puis liez-le au dossier /tmp actuel
#mkdir /dev/shm/tmp
#chmod 1777 /dev/shm/tmp
#mount –bind /dev/shm/tmp /tmp(–bind)
Après avoir utilisé la commande mount –bind olddir newerdir pour monter un répertoire dans un autre répertoire, toutes les informations telles que les autorisations et le propriétaire de newerdir changeront. Le répertoire monté hérite de tous les attributs du répertoire monté à l'exception de son nom. Le mode de gestion de la mémoire amm d'Oracle 11g utilise /dev/shm, donc parfois l'erreur ORA-00845 se produira lors de la modification de MEMORY_TARGET ou MEMORY_MAX_TARGET
Le répertoire /dev/shm est un outil très puissant et flexible dans les systèmes Linux. Il vous permet de créer et d'utiliser des fichiers en mémoire, améliorant ainsi les performances et la sécurité du système. Grâce à cet article, nous avons découvert les principes, les fonctions et l'utilisation du répertoire /dev/shm, ainsi que certains scénarios d'application et précautions courants. Nous espérons que cet article pourra vous aider à mieux comprendre et utiliser le répertoire /dev/shm, rendant ainsi votre système Linux plus efficace et plus sécurisé.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!