J'ai le serveur Ubuntu 14.04 installé sur mon serveur. Et j'ai un serveur vsftpd qui fournit un test de téléchargement de fichier à des fins de test. ma question est pourquoi si le client télécharge le fichier ftp, mon ram de serveur augmente rapidement en ligne avec le téléchargement de l'utilisateur, puis il reste à la même valeur, une fois le téléchargement de l'utilisateur terminé, existe-t-il un moyen de l'empêcher?
Voici la capture de mon utilisation du bélier.
ipeph@ServiceOperationCenter:~$ free -m
total used free shared buffers cached
Mem: 9748 6018 3720 10 141 5679
-/+ buffers/cache: 392 9354
Swap: 893 0 893
ipeph@ServiceOperationCenter:~$ date
Thu Nov 19 09:44:37 WIB 2015
ipeph@ServiceOperationCenter:~$ free -m
total used free shared buffers cached
Mem: 9748 6113 3619 10 141 5679
-/+ buffers/cache: 395 9350
Swap: 893 0 893
ipeph@ServiceOperationCenter:~$ date
Thu Nov 19 09:44:57 WIB 2015
ipeph@ServiceOperationCenter:~$ free -m
total used free shared buffers cached
Mem: 9748 6213 3534 10 141 5679
-/+ buffers/cache: 402 9355
Swap: 893 0 893
ipeph@ServiceOperationCenter:~$ date
Thu Nov 19 09:45:03 WIB 2015
Le noyau Linux gardera les données des fichiers mis en cache en mémoire au cas où on y accèderait à nouveau. Au fil du temps, les données seront supprimées si elles ne sont pas accessibles ou si d'autres processus nécessitent la mémoire. Les statistiques mises en cache indiquent la quantité de données dans le cache. Je ne serais pas trop inquiet à ce sujet.
Si vous souhaitez supprimer les données mises en cache (ce qui n'est pas conseillé car vous pouvez libérer des données mises en cache et donc le noyau devra les relire), vous pouvez écrire 1 dans/proc/sys/vm/drop_caches pour libérer le pagecache.
Pour libérer la pagecache:
echo 1 | Sudo tee /proc/sys/vm/drop_caches
Pour libérer des objets de dalles récupérables (y compris les dentiers et les inodes):
echo 2 | Sudo tee /proc/sys/vm/drop_caches
Pour libérer des objets de dalle et du cache de page:
echo 3 | Sudo tee /proc/sys/vm/drop_caches
Dans la sortie free
, le chiffre le plus important est + buffers/cache
Qui est free + buffers + cached
, Il indique la mémoire disponible pour vos applications en cas de besoin.
- buffers/cache
== utilisé - tampons - mis en cache ce qui est une bonne indication de la mémoire occupée par les applications
Linux (noyau) utilise la mémoire inutilisée pour le cache de page (et le cache de tampon - il existe toujours) pour des performances.
free
-> utilisé pour rien
echo 3 > /proc/sys/vm/drop_caches
Libère la pagecache, les denteries et les inodes qui rendront la mémoire utilisée pour le cache de pages/cache tampon à "libre".
buffers
et cached
baissera et free
augmentera, cependant, cela ne signifie pas que vous avez plus de mémoire disponible pour les applications.
Pour plus d'informations, vérifiez Linux sur ma RAM!
BTW: Fedora et Arch Linux utilisent
free
deprocps-ng
La sortie est différente.
La sortie combine buff/cache et a supprimé le quelque peu déroutant -/+ buffers/cache
.
Nous pouvons clairement voir buff/cache
Abandonné mais available
n'a PAS changé, ce qui est beaucoup plus logique pour les utilisateurs finaux. Personnellement, je pense que c'est une meilleure mise en œuvre/interprétation.
# free -m
total used free shared buff/cache available
Mem: 1874 117 18 1 1737 1708
Swap: 0 0 0
# echo 3 > /proc/sys/vm/drop_caches
# free -m
total used free shared buff/cache available
Mem: 1874 117 1654 1 102 1708
Swap: 0