linux smem 查看各进程使用memory情况
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情况的更多相关文章
- Linux下查看某个进程打开的文件数-losf工具常用参数介绍
Linux下查看某个进程打开的文件数-losf工具常用参数介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 在linux操作系统中,一切皆文件.通过文件不仅仅可以访问常规数据,还 ...
- linux下查看当前进程以及杀死进程
###linux下查看当前进程以及杀死进程 查看进程 ps命令查找与进程相关的PID号: ps a :显示现行终端机下的所有程序,包括其他用户的程序. ps -A :显示所有程序. ps c :列出程 ...
- Linux下查看某个进程的网络带宽占用情况
说明: 1.可能查看某个进程的带宽占用需要明确知道PID.进程名字.发送速度.接收速度. 2.很遗憾,在Linux原生的软件中没有这样的一款,只能额外装,最符合以上的情况就只有nethogs. 3.n ...
- [转] linux 下查看一个进程运行路径的方法
http://blog.csdn.net/brioxu/article/details/5104736 在linux下查看进程大家都会想到用 ps -ef|grep XXX ps -aux | hea ...
- linux下查看哪个进程占用内存多
1.用top命令 1.top top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器 可以直接使用top命令后,查看%MEM的内容.可以 ...
- Linux下查看哪些进程占用的CPU、内存资源
1.CPU占用最多的前10个进程: ps auxw|head -1;ps auxw|sort -rn -k3|head -10 2.内存消耗最多的前10个进程 ps auxw|head -1;ps a ...
- linux 下查看java进程
linux下查看出问题的java进程,便于发现程序问题.命令如下: 找到存在问题的java进程号,ps -ef|grep java ,如进程30021 卡住,需要查看该进程信息,那么敲入命令: jst ...
- linux下查看运行进程详细信息
通过ps及top命令查看进程信息时,只能查到相对路径,查不到的进程的详细信息,如绝对路径等.这时,我们需要通过以下的方法来查看进程的详细信息: Linux在启动一个进程时,系统会在/proc下创建一个 ...
- linux 下查看一个进程执行路径
在linux下查看进程大家都会想到用 ps -ef|grep XXX 但是看到的不是全路径.怎么看全路径呢? 每一个进程启动之后在 /proc以下有一个于pid相应的路径 比如:ps -ef|grep ...
随机推荐
- IE10以下优雅降级(作为范例)
扒下来一段 优雅降级的代码. <!--[if lt IE 10]> <style> .ie-tip{margin-top: 100px;font-size: 16px;text ...
- 删除none 的images报错 image has dependent child images 解决办法
这个错是因为在要删除的images之后创建了该images的父images 方法: docker image inspect --format='{{.RepoTags}} {{.Id}} {{.Pa ...
- elasticsearch(一) 之 elasticsearch初识
目录 一 .elasticsearch 二 . elasticsearch 名词解释 集群(cluster) 节点(node) 索引(index) type(类型) Document(文档) shar ...
- System.Windows.Forms.Timer的简单用法
Timer就是用来计时操作,如:你想在多少秒之后执行某个动作 Timer showTextBoxTimer = new Timer(); //新建一个Timer对象 showTextBoxTimer. ...
- JavaScript函数——预编译
四部曲 创建AO对象 找形参和变量声明,将变量和形参名作为AO属性名,值为undefined. 将实参值和形参值统一 在函数体内找函数声明,值赋予函数体. 权重按顺序依次增加.以下例子即可体现上述规则 ...
- Codeforces 960G. Bandit Blues
Description 你需要构造一个长度为 \(n\) 的排列 , 使得一个数作为前缀最大值的次数为 \(A\) , 作为后缀最大值的次数为 \(B\) , 求满足要求的排列个数 . 题面 Solu ...
- DEV控件ASPxTextBox设置ClientEnabled="false"之后出现的问题
DEV控件ASPxTextBox设置ClientEnabled="false"之后,js中设置文本框的值后,按钮后台点击事件中获取文本框的值为空.
- Spring JdbcTemplate详解
为了使 JDBC 更加易于使用,Spring 在 JDBCAPI 上定义了一个抽象层, 以此建立一个JDBC存取框架. 作为 SpringJDBC 框架的核心, JDBC 模板的设计目的是为不同类型的 ...
- iOS交互h5— JavaScriptCore ---UIWebview
JavaScriptCore这个框架,从而让web页面和本地原生应用交互起来非常方便,而且使用此框架可以做到Android那边和iOS相对统一, web前端 在三端交互中,web前端开发人员来定义,让 ...
- iOS开发常用函数
1. 三角函数 double sin (double); 正弦 double cos (double);余弦 double tan (double);正切 2 .反三角函数 double asin ...