Maison > Article > Opération et maintenance > Qu'est-ce que la mémoire sous Linux
Sous Linux, la mémoire est la mémoire physique ; lorsque la mémoire physique est sur le point de déborder, la mémoire rarement utilisée dans la mémoire sera transférée vers SWAP, et sera retransférée une fois que la mémoire physique sera libre et que la mémoire SWAP sera active.
L'environnement d'exploitation de ce tutoriel : système linux7.3, ordinateur Dell G3.
la mémoire physique est sur le point de déborder, la mémoire la moins utilisée de la mémoire sera transférée vers SWAP jusqu'à ce que la mémoire physique soit libre et que la mémoire d'échange soit active avant elle. est retransféré
Linux mem/swap/buffers/cached différence
la commande free fournit une vue plus concise de l'utilisation de la mémoire système par rapport à top :
# free -m
mem : représente les statistiques de mémoire physique
buff/cache : représente le cache statistiques de la mémoire physique
swap : Indique l'utilisation de la partition de swap sur le disque dur
La mémoire actuellement disponible du système n'est pas marquée par libre dans la première ligne. Elle représente uniquement la mémoire non allouée.
L'occupation de la colonne buff/cache est trop élevéeQuel est l'objectif principal du buff/cache ?
Linux dispose d'un mécanisme de mise en cache avancé, qui ciblera le dentry (utilisé dans le système de fichiers virtuel VFS pour accélérer la conversion des noms de chemin de fichier en inodes), le cache de tampon (pour la lecture et l'écriture de blocs de disque) et le cache de pages (pour les inodes de fichiers). ) Lecture et écriture) effectue des opérations de cache pour améliorer l'efficacité de la lecture et de l'écriture. Cependant, après qu'un grand nombre d'opérations sur les fichiers soient effectuées, le cache épuisera essentiellement les ressources mémoire. Bien que l'efficacité de la lecture des fichiers soit améliorée, la mémoire physique sera progressivement utilisée.
Il s'avère que le système effectue des opérations fréquentes de lecture et d'écriture de fichiers, mais pourquoi le système d'exploitation ne recycle-t-il pas activement ? Il s'avère que le paramètre par défaut de drop_caches n'est pas à libérer. La valeur de
drop_caches peut être un nombre compris entre 0 et 3, représentant différentes significations :
0 : Ne pas libérer (valeur par défaut du système)
1 : Libérer le cache des pages
2 : Libérer les dentries et les inodes
3 : Libérez tous les caches
Modification :
# echo 1 > /proc/sys/vm/drop_caches
Interlude
Lorsque la mémoire physique de Linux est sur le point d'être épuisée, le système transférera la mémoire occupée par certains processus vers la zone de swap Lorsqu'une partie de la mémoire physique est libérée, une partie de la zone d'échange L'utilisation de la mémoire revient lentement à la zone mémoire, mais la zone mémoire n'est plus dans son état de pleine charge précédent, mais a une partie de la mémoire libre !
【Résumé】
1) Lorsque la mémoire physique est presque épuisée, le système ne plante pas, mais utilise le swap comme mémoire temporaire. Lorsque les deux sont épuisés, le système OutofMemory
2) La mémoire physique atteint son apogée, et. le système L'utilisation de la mémoire de certains processus inhabituels est mentionnée dans la zone d'échange
3) Lorsque les ressources de la zone Men sont libérées, la mémoire déplacée vers l'échange ne reviendra pas entièrement. Elle reviendra lentement au fur et à mesure du système ou du programme. se réveille. Allez dans la zone hommes
4) l'échange est la mémoire virtualisée par le disque lorsque la mémoire n'est pas suffisante. Le disque est principalement une opération au niveau des E/S, pas une opération au niveau du noyau du système. au même niveau que la zone mémoire
Recommandations associées : "
Tutoriel vidéo Linux"
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!