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


基础条件:需要安装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. js正则表达式整理

    一.数字类 数字:^[0-9]*$ 正数.负数.和小数:^(\-|\+)?\d+(\.\d+)?$ 零和非零开头的数字:^(0|[1-9][0-9]*)$ 非零开头的最多带两位小数的数字:^([1-9 ...

  2. 设计模式(八)桥接模式(Bridge Pattern)

    一.引言 这里以电视遥控器的一个例子来引出桥接模式解决的问题,首先,我们每个牌子的电视机都有一个遥控器,此时我们能想到的一个设计是——把遥控器做为一个抽象类,抽象类中提供遥控器的所有实现,其他具体电视 ...

  3. 遭遇Web print

    一直都知道Web打印还不太成熟,以前IE横行时,普遍都是采用打印相关的ActiveX控件,有些国产厂家做得不错,只是那时还没有付费能力,没有太多关注.而纯粹基于Web标准的打印,浏览器对CSS pri ...

  4. php实现中文转数字,实现方式很智能很php

    分享一个辅助函数,使用php尽可能识别出字符串中的数字,实现效果如下. 1 2 3 4 5 6 7 8 9 echo checkNatInt('九百六十万'); //普通中文数字,9600000 ec ...

  5. WEB项目会话集群的三种办法

    web集群时session同步的3种方法 在做了web集群后,你肯定会首先考虑session同步问题,因为通过负载均衡后,同一个IP访问同一个页面会被分配到不同的服务器上, 如果session不同步的 ...

  6. jquery操作表格 合并单元格

    jquery操作table,合并单元格,合并相同的行 合并的方法 $("#tableid").mergeCell({ cols:[X,X] ///参数为要合并的列}) /** * ...

  7. angular $http请求

    angular使用post.get向后台传参的问题 一.问题的来源 我们都知道向后台传参可以使用get.put,其形式就类似于name=jyy&id=001.但是在ng中我却发现使用$http ...

  8. Android开发案例 - 欢迎界面

    本文详细描述了如何实现如下图中的微信启动界面. 该类启动界面的特点是在整个Application的生命周期里, 它只会出现在第一次进入应用时, 即便按回退键到桌面之后. 使用该类启动界面的应用还有: ...

  9. centos 6 YUM安装 lmp

    准备篇: 1.配置防火墙,开启80端口.3306端口       vi /etc/sysconfig/iptables       -A INPUT -m state --state NEW -m t ...

  10. SVN为什么比Git更好

    首先我表明一个根本的立场,我个人更喜欢用Git,但是,这仅仅是一个个人偏好.当我们需要将一种技术方案带给整个团队的时候,并不是由我们的个人偏好作为主要决定因素,而应该充分去权衡利弊,选择对团队,对公司 ...