Ces questions énumèrent brièvement le format de la commande free, en notant que les tampons sont la mémoire du noyau qui doit être écrite sur le disque et que le cache est des données de fichier qui n'ont pas besoin d'être écrites sur le disque.
Sur mon système, contrairement à la plupart des fois où j'ai couru gratuitement, les tampons occupent plus de 10% de la RAM. Habituellement, les tampons sont une petite valeur, presque symbolique.
Ma question est la suivante :qu'y a-t-il exactement dans la zone appelée zones tampons ? Puis-je le rechercher avec lsof
? Se compose-t-il de régions de fichiers ouvertes qui n'ont pas été vidées ? S'agit-il de régions de fichiers mappées en mémoire ? Qu'est-ce que c'est ?
Le système fonctionne bien et peu d'échange est utilisé, donc les performances sont bonnes.
Réponse acceptée :
free
extrait ses données de /proc/meminfo
slkwr133701:/usr/src/linux # free
total used free shared buffers cached
Mem: 2053456 434572 1618884 0 77888 201820
slkwr133701:/usr/src/linux # cat /proc/meminfo
MemTotal: 2053456 kB
MemFree: 1618736 kB
Buffers: 77928 kB
....
Il s'agit de la mémoire utilisée pour le stockage temporaire des blocs d'E/S.
Le noyau doit constamment affecter et libérer les mêmes unités de taille, comme les blocs de transfert d'E/S, les paquets réseau et les tampons de socket
Vous pouvez obtenir un meilleur aperçu des caches et des allocations de tampon en exécutant slabtop
En réponse à votre question d'utilisation :le système allouera généralement plus de blocs qu'il n'en a besoin, mais à mesure que la "pression de la mémoire" augmente, ces blocs supplémentaires seront libérés.