GNU/Linux >> Tutoriels Linux >  >> Linux

Invoquer et suivre l'utilisation de la mémoire d'un processus

Cela devrait faire ce dont vous avez besoin. Il obtient les informations de /proc/$PID/statm et impressions (à partir de man procfs ):

              size       total program size
                         (same as VmSize in /proc/[pid]/status)
              resident   resident set size
                         (same as VmRSS in /proc/[pid]/status)
              share      shared pages (from shared mappings)
              data       data + stack

Le scénario :

#!/usr/bin/env bash 

## Print header
 echo -e "Size\tResid.\tShared\tData\t%"
 while [ 1 ]; do
    ## Get the PID of the process name given as argument 1
     pidno=`pgrep $1`
    ## If the process is running, print the memory usage
     if [ -e /proc/$pidno/statm ]; then
     ## Get the memory info
      m=`awk '{OFS="\t";print $1,$2,$3,$6}' /proc/$pidno/statm`
     ## Get the memory percentage
      perc=`top -bd .10 -p $pidno -n 1  | grep $pidno | gawk '{print \$10}'`
     ## print the results
      echo -e "$m\t$perc";
    ## If the process is not running
     else
      echo "$1 is not running";
     fi
 done

Vous pouvez ensuite appeler le script en lui donnant un nom de processus en entrée. Par exemple :

$ memusage.sh firefox
Size    Resid.  Shared  Data    %
517193  261902  9546    400715  12.8
517193  261902  9546    400715  12.8
517193  261902  9546    400715  12.8
517193  262100  9546    400715  12.8
517193  262100  9546    400715  12.8
517193  262100  9546    400715  12.8
517209  261899  9546    400731  12.8
517209  261899  9546    400731  12.8

REMARQUES :

  • Cela suppose qu'il n'y a qu'un seul processus en cours d'exécution avec le nom spécifié.

Linux
  1. Linux - Limiter l'utilisation de la mémoire pour un seul processus Linux ?

  2. Trouver les 10 principaux processus en cours d'exécution par utilisation de la mémoire et du processeur

  3. Récupérer l'utilisation du processeur et l'utilisation de la mémoire d'un seul processus sous Linux ?

  4. Limitation de l'utilisation de la mémoire de processus/du processeur sous Linux

  5. Utilisation élevée de la mémoire mais aucun processus ne l'utilise

Comment obtenir l'utilisation du processeur d'un seul processus sous Linux

Comment suivre et tracer un processus Linux

Limiter l'utilisation de la mémoire pour un seul processus Linux

utilisation et redimensionnement de tmpfs

Représentation graphique de l'utilisation de la mémoire des processus sous Linux

Ubuntu Linux :traiter la mémoire d'échange et l'utilisation de la mémoire