Tout d'abord, répétez ce mantra pour un peu de temps: "la mémoire inutilisée est gaspillée de la mémoire". Le noyau Linux maintient autour d'énormes quantités de métadonnées de fichiers et les fichiers qui ont été demandés, jusqu'à ce que quelque chose qui ressemble de plus en plus important qui pousse des données. C'est pourquoi vous pouvez exécuter:
find /home -type f -name '*.mp3'
find /home -type f -name '*.aac'
et la deuxième find
course par exemple à la vitesse ridicule.
Linux ne laisse que peu de mémoire "gratuits" pour gérer les pics d'utilisation de la mémoire, sans trop d'effort.
Deuxièmement, vous voulez trouver les processus qui sont le fait de manger de la mémoire; en top
utiliser l' M
commande de trier par utilisation de la mémoire. Ignorez l' VIRT
colonne, qui vous dit combien de mémoire virtuelle a été alloué, et non pas la quantité de mémoire utilisée par le processus. RES
rapports de combien de mémoire est résident, ou actuellement dans la ram (par opposition à l'objet de swaps de disque ou jamais réellement imputé en premier lieu, en dépit d'être demandé).
Mais, depuis RES
comptera par exemple, /lib/libc.so.6
de la mémoire une fois pour presque tous les processus, il n'est pas exactement un jeu génial de mesure de la quantité de mémoire utilisée par un processus. L' SHR
colonne indique la quantité de mémoire est partagée avec d'autres processus, mais il n'y a aucune garantie qu'un autre processus est en fait le partage -- il pourrait être partageable, seulement personne ne veut partager.
L' smem
outil est conçu pour aider les utilisateurs à mieux gage de combien de mémoire devrait vraiment être blâmé sur chacun des processus. Il fait un peu de travail intelligent pour comprendre ce qui est vraiment unique, ce qui est partagé, et, proportionnellement, le décompte de la mémoire partagée pour le processus de partage. smem
peut vous aider à comprendre où votre mémoire va mieux qu' top
va, mais top
est un excellent outil.