GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Aufrufen und Verfolgen der Speichernutzung eines Prozesses

Dies sollte tun, was Sie brauchen. Es erhält die Informationen von /proc/$PID/statm und druckt (ab 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

Das Skript:

#!/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

Sie können das Skript dann aufrufen und ihm einen Prozessnamen als Eingabe geben. Zum Beispiel:

$ 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

HINWEISE:

  • Dies setzt voraus, dass es nur eine Single gibt laufender Prozess mit dem angegebenen Namen.

Linux
  1. Linux – Speichernutzung für einen einzelnen Linux-Prozess begrenzen?

  2. Tool, das die Protokollierung der Speichernutzung ermöglicht?

  3. Finden Sie die Top 10 der laufenden Prozesse nach Speicher- und CPU-Auslastung

  4. Maximale Speicherauslastung eines Linux/Unix-Prozesses

  5. CPU-Auslastung und Speicherauslastung eines einzelnen Prozesses unter Linux abrufen?

Linux-Speichernutzung

So erhalten Sie die CPU-Auslastung eines einzelnen Prozesses in Linux

So verfolgen und verfolgen Sie einen Linux-Prozess

Wachsende Nutzung des residenten Speichers (RSS) von Java Process

Begrenzen Sie die Speichernutzung für einen einzelnen Linux-Prozess

Maximale Speicherauslastung eines Prozesses