GNU/Linux >> Znalost Linux >  >> Linux

Vyvolání a sledování využití paměti jedním procesem

To by mělo dělat to, co potřebujete. Získává informace z /proc/$PID/statm a vytiskne (od 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

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

Poté můžete skript zavolat a zadat mu jako vstup název procesu. Například:

$ 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

POZNÁMKY:

  • To předpokládá, že existuje pouze jeden běžící proces se zadaným názvem.

Linux
  1. Využití paměti Linuxu

  2. Linux – Omezit využití paměti pro jeden linuxový proces?

  3. Najděte 10 nejběžnějších procesů podle využití paměti a CPU

  1. Načíst využití CPU a paměti jedním procesem v Linuxu?

  2. Omezte využití paměti pro jeden proces Linuxu

  3. tmpfs použití a změna velikosti

  1. Špičkové využití paměti linuxovým/unixovým procesem

  2. Špičkové využití paměti procesem

  3. Jak se v Linuxu hlásí využití paměti?