250 votes

Comment faire pour voir le haut des processus par l’utilisation de la mémoire réelle ?

J’ai un serveur avec 12G de mémoire. Un fragment du haut est illustré ci-dessous :

Le `` montre ce qui suit :

Comme j’ai bien compris le système a seulement 362 Mo de mémoire disponible. Donc la question est comment puis-je savoir quel processus consomme la plus grande partie de la mémoire ?

Juste pour info, le système est en cours d’exécution `` .

333voto

risnandar Points 2236

Utilisez l’astuce en utilisant la commande top sous linux/unix

Appuyez sur Shift + f , puis sélectionnez l’affichage à l’ordre par l’utilisation de la mémoire en appuyant sur la touche n puis appuyez sur Enter . Vous verrez des processus actifs classés par utilisation de la mémoire

288voto

sarnold Points 62720

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.

38voto

Angelinux Points 169
<pre><code></code><p>(Ajout - n indicateur numérique pour trier commande.)</p></pre>

28voto

thkala Points 36148

Tout d’abord, vous devriez lire une explication sur la sortie de `` . Bottom line : vous avez au moins 10,7 GB de mémoire facilement utilisable par les processus.

Puis vous devez définir ce que « utilisation de la mémoire » est un processus (ce n’est pas facile ou sans ambiguïté, croyez-moi).

Ensuite, nous pourrions être en mesure d’aider plus  :-)

21voto

Tomir Schmite Jr. Points 156

Liste et trier les processus par l’utilisation de la mémoire :

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X