Les partenaires publicitaires:

Combien de mémoire linux est utilisé par un processus?

Détermination de la quantité de mémoire utilisée par un processus en cours d'exécution sur une plate-forme Linux est une proposition difficile. Les valeurs pour l'utilisation de la mémoire signalées par le système d'exploitation sont imprécises. Lorsque vous utilisez les utilitaires intégrés fournis avec Linux, il est important de comprendre les statistiques d'utilisation de la mémoire et comment ils sont calculés.

Comment fonctionne un processus Utilisation de la mémoire?

  • Quand un processus commence, le système d'exploitation alloue la quantité de mémoire le processus nécessite pour fonctionner. Chaque processus a quatre segments de mémoire pour le code exécutable et des données. Le "code" segment contient les instructions exécutables. Le "données" segment contient les variables statiques et mondiaux. Le "cheminée" contient les variables locales. Le "tas" contient les objets alloués dynamiquement. Les processus peuvent utiliser des bibliothèques partagées. Bibliothèques partagées ne sont chargés en mémoire une fois, et tous les processus utilisant une bibliothèque partagée notamment d'utiliser cette copie.

Qu'est-ce que la mémoire ne Statistiques Rapport Linux?

  • La mémoire virtuelle est la quantité totale de l'espace d'adressage réservé par le système d'exploitation pour le processus de ses codes, données et pile. La taille de la mémoire virtuelle rapporté par Linux inclut tout l'espace de code, de données et pile réservé pour une utilisation par un processus, à la fois sur la mémoire physique et d'espace swap. Cette valeur inclut l'espace utilisé par toutes les bibliothèques partagées utilisées par le processus. La conséquence de ceci est que les bibliothèques partagées comptent en pleine vers la taille d'un processus donné.

    La taille de la mémoire résidente d'un processus rapporté par Linux ne comprend que la quantité de mémoire physique du processus et les bibliothèques partagés références utilisent à un moment donné. Segments déplacés vers l'espace swap ne sont pas inclus. Comme avec la taille de la mémoire virtuelle, la taille de mémoire résidente comprend l'espace utilisé par les bibliothèques partagées.

Affichage d'une photo de processus simple avec ps

  • L'utilitaire ps fournit un instantané des processus en cours d'exécution sur le système, les rapports taille de la mémoire virtuelle et résident, CPU et mémoire pourcentages, et une grande variété d'autres informations. Pour examiner un seul processus, utilisez les options suivantes pour ps, y compris vsz pour la taille de la mémoire virtuelle, et rss pour la taille de la mémoire résidente. Par exemple,

    ps p 3746 o pid, rss, vsz, comm



    sorties pour 3746: processus

    PID RSS VSZ COMMANDE
    3746 14444 351216 httpd2

Surveillance des processus avec top

  • L'utilitaire top fournit une vue en direct de la performance du système. Pour surveiller un ou plusieurs processus avec top, utilisez l'option -P de fournir une liste d'identifiants de processus. Par exemple:

    top -p 3746,6100,28753,23176,25544




    Après le lancement de haut, appuyez sur la touche de commande "fa" pour accéder à l'écran de sélection de colonne. Allumez l'écran pour les PID, VIRT, RES, SHR, colonnes SWAP, le code, les données et commande. Comme illustré dans la capture d'écran, l'écran affiche les statistiques de mémoire suivantes:

    VIRT: taille de la mémoire virtuelle
    RES: Resident taille de la mémoire
    SHR: taille de la mémoire partagée
    SWAP: taille Swapped
    La taille du code dans la mémoire physique: CODE
    INFORMATION: Les données ainsi pile taille dans la mémoire physique

    L'utilitaire top personnalisé pour afficher processus utilisation de la mémoire. Deborah Lee Soltesz

Un coup d'oeil dans / proc

  • État des informations détaillées et processus d'utilisation de la mémoire peuvent être trouvés dans / proc // Statut et / proc // Smaps. Une variété d'information est contenue dans / proc // Statut, y compris ces statistiques de la mémoire:

    Taille de la mémoire virtuelle de pointe: VmPeak
    VmSize: La mémoire virtuelle
    Vmdata: taille de segment de données
    VmStk: taille de la pile
    VmExe: Executable taille de segment
    VmLib: la taille du code Bibliothèque

    / Proc // smaps fournit une vue très détaillée d'un processus 'usages de la mémoire, ventilées par cartographie pour le code, pile, tas et chaque bibliothèque partagée. La sortie complète de smaps est plutôt longue et difficile à digérer. Vous pouvez utiliser le Linux: Module smaps Perl pour analyser et traiter le fichier smaps.

» » » » Combien de mémoire linux est utilisé par un processus?