Skip to content

Kunkka1988/parse_smaps

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 

Repository files navigation

Parse smaps

smaps is an useful file to inspect the memory footprint of the process in linux.

It shows the memory mapping entries of a given process.

This tool simply parses 4 values and sums up the memory used from the same file:

  • Private Clean
  • Private Dirty
  • Shared Clean
  • Shared Dirty

Usage

  • Use with a process name (automatically get the first pid by pidof)
$> sudo python parse_smaps.py -p sshd
There are multiple pids:
[0]    83568: sshd: vagrant@pts/6
[1]    83566: sshd: vagrant [priv]
[2]      360: sshd: /usr/bin/sshd -D [listener] 0 of 10-100 startups
Choose which one process you want (default=0):
======================================================================
 Private +  Private +   Shared +   Shared
   Clean +    Dirty +    Clean +    Dirty =    Total : library
======================================================================
    0 kB +     0 kB +  1364 kB +   184 kB =  1548 kB : libcrypto.so.1.1
    0 kB +     8 kB +  1380 kB +    16 kB =  1404 kB : libc-2.31.so
    0 kB +     4 kB +   640 kB +    12 kB =   656 kB : sshd
    0 kB +   436 kB +     0 kB +   136 kB =   572 kB : [heap]
    0 kB +     4 kB +   184 kB +    12 kB =   200 kB : libnss_systemd.so.2
    0 kB +    32 kB +     0 kB +    68 kB =   100 kB : [anonymous]
    0 kB +     4 kB +    64 kB +    20 kB =    88 kB : pam_systemd.so
    0 kB +     4 kB +    80 kB +     4 kB =    88 kB : libpthread-2.31.so
   24 kB +     0 kB +    56 kB +     8 kB =    88 kB : libz.so.1.2.11
    0 kB +     0 kB +     0 kB +    68 kB =    68 kB : libkrb5.so.3.3
    0 kB +     0 kB +    48 kB +     8 kB =    56 kB : libpam.so.0.84.2
    0 kB +     4 kB +    40 kB +     4 kB =    48 kB : ld-2.31.so
    0 kB +     0 kB +    36 kB +     8 kB =    44 kB : pam_unix.so
    0 kB +     0 kB +    36 kB +     8 kB =    44 kB : libnss_files-2.31.so
    0 kB +     4 kB +    36 kB +     4 kB =    44 kB : libaudit.so.1.0.0
    0 kB +    36 kB +     0 kB +     4 kB =    40 kB : [stack]
...
===============================================================================
   24 kB +   536 kB +  4012 kB +   800 kB =  5372 kB : Total
  • Use with a specified smaps file
$> sudo python parse_smaps.py /proc/83581/smaps
======================================================================
 Private +  Private +   Shared +   Shared
   Clean +    Dirty +    Clean +    Dirty =    Total : library
======================================================================
    0 kB +    24 kB +  1528 kB +     0 kB =  1552 kB : libc-2.31.so
    4 kB +    52 kB +   544 kB +     0 kB =   600 kB : tmux
    0 kB +     0 kB +   400 kB +     0 kB =   400 kB : locale-archive
   32 kB +    12 kB +   252 kB +     0 kB =   296 kB : libevent-2.1.so.7.0.0
    0 kB +   228 kB +     0 kB +     0 kB =   228 kB : [heap]
    0 kB +    24 kB +   156 kB +     0 kB =   180 kB : libncursesw.so.6.2
    0 kB +     8 kB +   168 kB +     0 kB =   176 kB : ld-2.31.so
    0 kB +     8 kB +    92 kB +     0 kB =   100 kB : libpthread-2.31.so
    0 kB +     8 kB +    72 kB +     0 kB =    80 kB : libresolv-2.31.so
    0 kB +    52 kB +     0 kB +     0 kB =    52 kB : [anonymous]
    0 kB +    32 kB +     0 kB +     0 kB =    32 kB : [stack]
    0 kB +     8 kB +     8 kB +     0 kB =    16 kB : libutempter.so.1.2.0
    0 kB +     8 kB +     8 kB +     0 kB =    16 kB : libutil-2.31.so
    0 kB +     0 kB +     4 kB +     0 kB =     4 kB : [vdso]
    0 kB +     0 kB +     0 kB +     0 kB =     0 kB : [vvar]
    0 kB +     0 kB +     0 kB +     0 kB =     0 kB : [vsyscall]
======================================================================
   36 kB +   464 kB +  3232 kB +     0 kB =  3732 kB : Total

About

Parse smaps of linux processes

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%