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 ...
随机推荐
- 原生js动态添加style,添加样式
原生js动态添加style,添加样式 第一种 var style="[assign-url='"+str+"']{display:initial}"; var ...
- springboot-10-前端页面整合, thymeleaf, freemarker, jsp 模板使用
springboot 中不建议使用jsp作为页面展示, 怎么使用可以看: http://412887952-qq-com.iteye.com/blog/2292471 关于什么是thymeleaf, ...
- Storm:分布式流式计算框架
Storm是一个分布式的.高容错的实时计算系统.Storm适用的场景: Storm可以用来用来处理源源不断的消息,并将处理之后的结果保存到持久化介质中. 由于Storm的处理组件都是分布式的,而且处理 ...
- 文件触发式实时同步 Rsync+Sersync Rsync+Inotify-tools
一.概述 1.Rsync+Sersync 是什么? 1)Sersync使用c++编写基于inotify开发的触发机制: 2)Sersync可以监控所监听的目录发生的变化(包括新建.修改.删除),具体到 ...
- 【BATJ面试必会】Java 基础篇
一.数据类型 包装类型 缓存池 二.String 概览 不可变的好处 String, StringBuffer and StringBuilder String Pool new String(&qu ...
- Linux 文件流管理
1. 打开/关闭文件 1). 打开文件 / fopen 作用: 打开一个文件,将其与文件流联系起来,方便后续的操作 头文件: #include <stdio.h> 函数原型: FILE * ...
- 总结 vb与数据库的连接方法
总结 vb与数据库的连接方法 分类:vb数据库 (4672) (38) 举报 收藏 总结:vb与数据库连接方式,两种分法. 根据是否使用ODBC(驱动程序)来分: 1.有源连接 2.无源连接. ...
- MD5 加盐(Java)
本文转载自:https://blog.csdn.net/dingsai88/article/details/51637977 jar:https://pan.baidu.com/s/1-8JaRoUt ...
- Spring系列之——springboot解析resources.application.properties文件
摘要:本文通过讲解如何解析application.properties属性,介绍了几个注解的运用@Value @ConfigurationProperties @EnableConfiguration ...
- vue.js 项目打包
vuejs是个前端框架,npm run dev的目的在于前端开发的时候可以实时调试.所以npm run dev 只是开发时期会用到,在生产环境中我们应该使用nginx,apahce tomcat等应用 ...