Provided by: smem_1.5-2_all bug

NAME

       smem - Report memory usage with shared memory divided proportionally.

SYNOPSIS

       smem [options]

DESCRIPTION

       smem reports physical memory usage, taking shared memory pages into account.  Unshared memory is reported
       as  the  USS (Unique Set Size).  Shared memory is divided evenly among the processes sharing that memory.
       The unshared memory (USS)  plus  a  process's  proportion  of  shared  memory  is  reported  as  the  PSS
       (Proportional Set Size).  The USS and PSS only include physical memory usage.  They do not include memory
       that has been swapped out to disk.

       Memory  can  be  reported  by  process, by user, by mapping, or systemwide.  Both text mode and graphical
       output are available.

OPTIONS

   GENERAL OPTIONS
       -h, --help
              Show help.

   SOURCE DATA
       By default, smem will pull most of the data it needs from the  /proc  filesystem  of  the  system  it  is
       running  on.   The  --source option lets you used a tarred set of /proc data saved earlier, possibly on a
       different machine.  The --kernel and --realmem options let you specify a couple things that  smem  cannot
       discover on its own.

       -K KERNEL, --kernel=KERNEL
              Path  to  an  uncompressed kernel image.  This lets smem include the size of the kernel's code and
              statically allocated data in the systemwide (-w) output.  (To obtain an uncompressed  image  of  a
              kernel  on disk, you may need to build the kernel yourself, then locate file vmlinux in the source
              tree.)

       -R REALMEM, --realmem=REALMEM
              Amount of physical RAM.  This lets smem detect the amount of memory used by  firmware/hardware  in
              the  systemwide  (-w)  output.  If provided, it will also be used as the total memory size to base
              percentages on.  Example: --realmem=1024M

       -S SOURCE, --source=SOURCE
              /proc data source.  This lets you specify an alternate source of the /proc data.  For example, you
              can capture data from an embedded system using smemcap, and parse the data later  on  a  different
              machine.  If the --source option is not included, smem reports memory usage on the running system.

   REPORT BY
       If none of the following options are included, smem reports memory usage by process.

       -m, --mappings
              Report memory usage by mapping.

       -u, --users
              Report memory usage by user.

       -w, --system
              Report systemwide memory usage summary.

   FILTER BY
       If  none  of  these options are included, memory usage is reported for all processes, users, or mappings.
       (Note: If you are running as a non-root user, and if you are not using the  --source  options,  then  you
       will only see data from processes whose /proc/ information you have access to.)

       -M MAPFILTER, --mapfilter=MAPFILTER
              Mapping filter regular expression.

       -P PROCESSFILTER, --processfilter=PROCESSFILTER
              Process filter regular expression.

       -U USERFILTER, --userfilter=USERFILTER
              User filter regular expression.

   OUTPUT FORMATTING
       -a, --autosize
              Size columns to fit terminal size.

       -c COLUMNS, --columns=COLUMNS
              Columns to show.

       -H, --no-header
              Disable header line.

       -k, --abbreviate
              Show unit suffixes.

       -n, --numeric
              Show numeric user IDs instead of usernames.

       -p, --percent
              Show percentages.

       -r, --reverse
              Reverse sort.

       -s SORT, --sort=SORT
              Field to sort on.

       -t, --totals
              Show totals.

   OUTPUT TYPE
       These options specify graphical output styles.

       --bar=BAR
              Show bar graph.

       --pie=PIE
              Show pie graph.

REQUIREMENTS

       smem requires:

       •  Linux kernel providing 'Pss' metric in /proc/<pid>/smaps (generally 2.6.27 or newer).

       •  Python 2.x (at least 2.4 or so).

       •  The matplotlib library (only if you want to generate graphical charts).

EMBEDDED USAGE

       To  capture memory statistics on resource-constrained systems, the the smemcap package includes a utility
       named smemcap.  smemcap captures all /proc entries required by smem and outputs them as  an  uncompressed
       .tar  file  to STDOUT.  smem can analyze the output using the --source option.  smemcap is small and does
       not require Python.

       To use smemcap:

       1.     Install package smemcap on target system.

       2.     Run smemcap on the target system and save the output:
              smemcap > memorycapture.tar

       3.     Copy the output to another machine and run smem on it:
              smem -S memorycapture.tar

FILES

       /proc/$pid/cmdline

       /proc/$pid/smaps

       /proc/$pid/stat

       /proc/meminfo

       /proc/version

RESOURCES

       Main Web Site: http://www.selenic.com/smem

       Source code repository: http://selenic.com/repo/smem

       Mailing list: http://selenic.com/mailman/listinfo/smem

SEE ALSO

       free(1), pmap(1), proc(5), ps(1), top(1), vmstat(8)

COPYING

       Copyright (C) 2008-2009 Matt Mackall.  Free use of this software is granted under the terms  of  the  GNU
       General Public License version 2 or later.

AUTHOR

       smem was written by Matt Mackall.

                                                   03/15/2010                                            SMEM(8)