jhunkeler / mstat

Record the memory usage of a process over time.
BSD 3-Clause "New" or "Revised" License
1 stars 1 forks source link

MSTAT

Record the memory usage of a process over time.

Installation

git clone https://github.com/jhunkeler/mstat && cd mstat
cmake -DCMAKE_INSTALL_PREFIX=/usr/local .
make
make install

How to use MSTAT

usage: mstat [OPTIONS] [-p PID] | {PROGRAM... ARGS}
  -c        clobber 'PID#.mstat' if it exists
  -h        this help message
  -l LIMIT  stop execution after LIMIT samples
  -o DIR    path to output directory (must exist)
  -p PID    process id to monitor
  -s RATE   samples per second (default: 1.00)
  -v        increased verbosity

Monitor an existing process

$ mstat -p 12345
PID: 12345
Samples per second: 1.00
(interrupt with ctrl-c...)

Monitor a new process

$ mstat -s 10000 free
PID: 12345 
Samples per second: 10000.00
(interrupt with ctrl-c...)
               total        used        free      shared  buff/cache   available
Mem:        28455904     8951836    10728332      476032     8775736    18596172
Swap:       16777212           0    16777212
pid 148257 returned 0
MSTAT file written: /path/to/12345.mstat

Plotting

Requires gnuplot to be installed.

usage: mstat_plot [OPTIONS] {FILE}
  -f NAME[,...]   mstat field(s) to plot (default: rss,pss,swap)
  -h              this help message
  -l              list mstat fields
  -v              verbose mode

Render

$ mstat_plot 12345.mstat

CSV export

$ mstat_export 12345.mstat > 12345.csv