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)

linux smem 查看各进程使用memory情况的更多相关文章

  1. Linux下查看某个进程打开的文件数-losf工具常用参数介绍

    Linux下查看某个进程打开的文件数-losf工具常用参数介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 在linux操作系统中,一切皆文件.通过文件不仅仅可以访问常规数据,还 ...

  2. linux下查看当前进程以及杀死进程

    ###linux下查看当前进程以及杀死进程 查看进程 ps命令查找与进程相关的PID号: ps a :显示现行终端机下的所有程序,包括其他用户的程序. ps -A :显示所有程序. ps c :列出程 ...

  3. Linux下查看某个进程的网络带宽占用情况

    说明: 1.可能查看某个进程的带宽占用需要明确知道PID.进程名字.发送速度.接收速度. 2.很遗憾,在Linux原生的软件中没有这样的一款,只能额外装,最符合以上的情况就只有nethogs. 3.n ...

  4. [转] linux 下查看一个进程运行路径的方法

    http://blog.csdn.net/brioxu/article/details/5104736 在linux下查看进程大家都会想到用 ps -ef|grep XXX ps -aux | hea ...

  5. linux下查看哪个进程占用内存多

    1.用top命令 1.top top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器 可以直接使用top命令后,查看%MEM的内容.可以 ...

  6. Linux下查看哪些进程占用的CPU、内存资源

    1.CPU占用最多的前10个进程: ps auxw|head -1;ps auxw|sort -rn -k3|head -10 2.内存消耗最多的前10个进程 ps auxw|head -1;ps a ...

  7. linux 下查看java进程

    linux下查看出问题的java进程,便于发现程序问题.命令如下: 找到存在问题的java进程号,ps -ef|grep java ,如进程30021 卡住,需要查看该进程信息,那么敲入命令: jst ...

  8. linux下查看运行进程详细信息

    通过ps及top命令查看进程信息时,只能查到相对路径,查不到的进程的详细信息,如绝对路径等.这时,我们需要通过以下的方法来查看进程的详细信息: Linux在启动一个进程时,系统会在/proc下创建一个 ...

  9. linux 下查看一个进程执行路径

    在linux下查看进程大家都会想到用 ps -ef|grep XXX 但是看到的不是全路径.怎么看全路径呢? 每一个进程启动之后在 /proc以下有一个于pid相应的路径 比如:ps -ef|grep ...

随机推荐

  1. safari input默认样式

    在i标签下嵌套一个input标签  设置了 -webkit-apprarence:none: 设置了宽高,和padding:3px 结果placeholder显示不全 经排查 这时候的input默认有 ...

  2. sass中@的作用

    总结一下sass中用到@的地方. 1.继承@extend SASS允许一个选择器,继承另一个选择器.比如,现有class1: .class1 { border: 1px solid #ddd; } c ...

  3. ruby + phantomjs 自动化测试 - GA

    说起测试GA,真是一件枯燥乏味,重复性很高的工作,那么为什么我们不使用自动化测试代替它呢,显然,很多公司的产品迭代太快,ga也变化的比较频繁,但是确保ga工作正常,对于其他部门的工作是有很大帮助的,由 ...

  4. 前端神器之Sublime Text2/3简单明了使用总结

    为什么叫神器呢? 我总结如下: 第一:也是最重要的,它占内存很小(就如同notepad++那般迅速打开,所以那款其实也不错~).一般IDE比如WebStorm(它也是一款神器来着),Aptana(也比 ...

  5. bootstrap栅格系统的属性及使用

    栅格系统 媒体查询 在栅格系统中,我们在 Less 文件中使用以下媒体查询(media query)来创建关键的分界点阈值. 小屏幕(平板,大于等于 768px) @media (min-width: ...

  6. ant编译apache-nutch-2.2.1结合mysql实现爬虫的安装配置全过程

    之前的数据抓取都是用的八爪鱼软件,老大突发奇想要我自己搞个爬虫来抓取数据,网上找找貌似apache的nutch比较合适,于是就开始安装这啥nutch. 对于一个linux零基础的人来说,还要先学学li ...

  7. Node.js函数

    Node.js 函数 在JavaScript中,一个函数可以作为另一个函数的参数.我们可以先定义一个函数,然后传递,也可以在传递参数的地方直接定义函数. Node.js中函数的使用与Javascrip ...

  8. SQL 修改表字段失败 解决方法

    OK  大功告成 !!!

  9. Jupyter Notebook 快速入门[转]

    Jupyter Notebook(此前被称为 IPython notebook)是一个交互式笔记本,支持运行 40 多种编程语言.在本文中,我们将介绍 Jupyter notebook 的主要特性,以 ...

  10. jquery select change下拉框选项变化判断选中值

    <th class="formTitle"> 是否转出: </th> <td class="formValue" colspan= ...