SMEM(8) SMEM(8)
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	dif‐
	      ferent 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
       -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 smem source 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. Obtain the smem source at http://selenic.com/repo/smem
2. Compile smemcap.c for your target system.
       3. Run smemcap on the target system and save the output:
	  smemcap > memorycapture.tar
       4. 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)
原文:https://www.cnblogs.com/DataArt/p/10021697.html