监控各个进程、用户的内存使用情况


基础条件:需要安装yum工具
centos 7.0

1、安装smem

[root@VM_31_182_centos src]# yum install smem python-matplotlib python-tk

Dependency Updated:

glib2.i686 0:2.46.2-4.el7                                                                           glib2.x86_64 0:2.46.2-4.el7

Complete!

2、查看各进程的内存使用情况
默认按PSS升序
  • VSS- Virtual Set Size 虚拟耗用内存(包含共享库占用的内存)
  • USS- Unique Set Size 进程独自占用的物理内存(不包含共享库占用的内存)
  • PSS- Proportional Set Size 实际使用的物理内存(比例分配共享库占用的内存)
  • RSS- Resident Set Size 实际使用物理内存(包含共享库占用的内存)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
[root@VM_31_182_centos src]# smem
  PID User     Command                         Swap      USS      PSS      RSS
  292 libstoragemgmt /usr/bin/lsmd -d                   0      120      139      584
  372 root     /sbin/iprdump --daemon             0      132      142      312
  349 root     /sbin/iprinit --daemon             0      140      158      400
  347 root     /sbin/iprupdate --daemon           0      144      162      404
 1950 root     /sbin/agetty --keep-baud tt        0      128      173      824
 1951 root     /sbin/agetty --noclear tty1        0      148      194      860
  334 avahi    avahi-daemon: chroot helpe         0       96      217      524
  307 root     /usr/sbin/acpid                    0      172      222      680
  306 root     /usr/sbin/atd -f                   0      224      261     1040
 2518 root     /usr/sbin/anacron -s               0      248      296      648
  246 root     /usr/sbin/lvmetad -f               0      412      465     1212
  312 chrony   /usr/sbin/chronyd -u chrony        0      412      485     1296
  295 avahi    avahi-daemon: running [VM31        0      372      572     1712
  294 root     /usr/lib/systemd/systemd-lo        0      532      632     1680
  255 root     /sbin/auditd -n                    0      556      648     1808
  305 root     /usr/sbin/crond -n                 0      692      728     1564
  247 root     /usr/lib/systemd/systemd-ud        0      708      781     1700
 1747 root     /usr/local/qcloud/stargate/        0      700      812     1728
  297 dbus     /bin/dbus-daemon --system -        0      824      873     1720
  222 root     /usr/lib/systemd/systemd-jo        0      836     1223     2444
 1704 root     /usr/libexec/postfix/master        0     1164     1237     2240
  612 root     /usr/sbin/sshd -D                  0      848     1429     3592
 1719 postfix  pickup -l -t unix -u               0     1180     1748     3936
 1720 postfix  qmgr -l -t unix -u                 0     1224     1793     3984
 2001 root     -bash                              0     1792     1827     2532
 1999 root     sshd: root@pts/0                   0     1692     2365     4844
    1 root     /usr/lib/systemd/systemd --        0     2268     2430     3712
  291 root     /usr/sbin/rsyslogd -n              0     3052     3437     4692
 2953 root     python /usr/bin/smem               0     5568     6249     7676
 2062 root     barad_agent                        0     5816     6760     9112
 2067 root     barad_agent                        0     8172     9235    11908
 2068 root     barad_agent                        0     9552    10556    13088
  293 root     /usr/bin/python -Es /usr/sb        0    14552    15560    18168
 1693 root     /usr/local/sa/agent/secu-tc        0    18544    18544    18544

3、常用命令
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
查看用户进程占用内存情况
    smem
查看系统占用内存的情况
    smem -w
每一个用户的内存使用情况
    smem -u
按照映射显示内存使用情况
    smem -m
进程名称筛选输出信息
    smem --processfilter="firefox"
以百分比的形式报告内存使用情况
    smem -p
最后一行汇总信息
    smem -t
条形图
    smem --userfilter="root" --bar pid -c"pss rss"
饼图
    smem --userfilter="root" --pie name -s pss


4、参考文档,包括各种命令


Shell命令_smem的更多相关文章

  1. Hadoop Shell命令大全

    hadoop支持命令行操作HDFS文件系统,并且支持shell-like命令与HDFS文件系统交互,对于大多数程序猿/媛来说,shell-like命令行操作都是比较熟悉的,其实这也是Hadoop的极大 ...

  2. Shell命令和流程控制

    Shell命令和流程控制 在shell脚本中可以使用三类命令: 1)Unix 命令: 虽然在shell脚本中可以使用任意的unix命令,但是还是由一些相对更常用的命令.这些命令通常是用来进行文件和文字 ...

  3. 在程序中执行shell命令

    在linux系统下的操作中我们会经常用到shell命令来进行,一开始学习进程的时候对于shell命令也进行了思考,认为shell命令就是一个进程的外壳,经过了后来的学习对于这一点也有了更多的认识. 用 ...

  4. Linux远程执行Shell命令或脚本

    ## 远程执行shell命令 ssh [user]@[server] '[command]' # eg. ssh root@192.168.1.1 'uptime' ## 远程执行本地shell脚本 ...

  5. HBase基本shell命令

    HBase基本shell命令 以下shell命令都是经过测试,正常展示,若有不足,还望指点! 1.创建表 create ‘表名称’,‘列族名称1’,‘列族名称1’create 'test_M_01', ...

  6. Linux SHELL 命令入门题目答案(一)

    1.如何使用shell 打印 “Hello World!” (1)如果你希望打印 !,那就不要将其放入双引号中,或者你可以通过转义字符转义(2)echo 'hello world!' 使用单引号ech ...

  7. Linux SHELL 命令入门题目(一)

    新年新气象,注重知识积累,提高手敲代码能力,而不是眼高手低,只会复制黏贴. 1.使用shell 打印 “Hello World!” 2.求变量'hello world'的字符长度 3.$0 .$SHE ...

  8. shell命令获取最新文件的名称

    最近有一个需求,在部署游戏战场服时,从程序包到部署需要做一些本地化的操作,手工操作费时费力,故写一个shell脚本,一键部署. 遇到的问题是每次要部署最新的程序包,因此需要shell命令获取最新的文件 ...

  9. 【转】Hadoop FS Shell命令

    FS Shell 调用文件系统(FS)Shell命令应使用 bin/hadoop fs <args> 的形式. 所有的的FS shell命令使用URI路径作为参数.URI格式是scheme ...

随机推荐

  1. Google官方关于Android架构中MVP模式的示例续-DataBinding

    基于前面的TODO示例,使用Data Binding库来显示数据并绑定UI元素的响应动作. 这个示例并未严格遵循 Model-View-ViewModel 或 Model-View-Presenter ...

  2. 深刻理解:C#中的委托、事件

    C#中的事件还真是有点绕啊,以前用JavaScript的我,理解起来还真是废了好大劲!刚开始还真有点想不明白为什么这么绕,想想和JS的区别,最后终于恍然大悟! C#中事件绕的根本原因: C#的方法,它 ...

  3. Android开发aidl使用中linkToDeath和unlinkToDeath的使用

    1.Binder死亡代理     这一节首先将介绍Binder类中比较重要的两个方法linkToDeath和unlinkToDeath.我们知道Binder是运行在服务进程,若服务端进程因为某种原因“ ...

  4. 安装cocoapods遇到两大坑-Ruby版本升级和Podfile的配置

    今天安装cocoapods #移除原有ruby源 $ gem sources --remove https://rubygems.org/ #使用可用的淘宝网 $ gem sources -a htt ...

  5. 简单的学习心得:网易云课堂Android开发第五章SharedPreferences与文件管理

    一.SharedPreferences (1)SharedPreferences能够用来保存一些属于基本数据类型的数据. (2)保存数据,删除数据都是由SharedPreferences的内部接口Ed ...

  6. Android 网络框架之Retrofit2使用详解及从源码中解析原理

    就目前来说Retrofit2使用的已相当的广泛,那么我们先来了解下两个问题: 1 . 什么是Retrofit? Retrofit是针对于Android/Java的.基于okHttp的.一种轻量级且安全 ...

  7. Android版本和API Level对应关系

    http://developer.android.com/guide/topics/manifest/uses-sdk-element.html Platform Version       API ...

  8. 15-static和extern关键字1-对函数的作用

    一.extern与函数 如果一个程序中有多个源文件(.c),编译成功会生成对应的多个目标文件(.obj),这些目标文件还不能单独运行,因为这些目标文件之间可能会有关联,比如a.obj可能会调用c.ob ...

  9. ASP.NET Button、ImageButton、LinkButton、HyperLink区别

    这4个控件都属于WEB服务器控件,有很多相同的属性和事件.其区别如下所示. 在*.aspx页面中插入Button控件如以下代码所示.<asp:Button runat="server& ...

  10. mysql比较时间大小unix_timestamp

    使用unix_timestamp方法进行比较,将字符型的时间,转成unix时间戳 select * from t1 where unix_timestamp(time1) > unix_time ...