Shell命令_smem

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

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

centos 7.0


1、安装smem

[[email protected]_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

[[email protected]_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: [email protected]/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、参考文档,包括各种命令

http://blog.csdn.net/jack__cj/article/details/52416935 smem – Linux 内存监视软件

时间: 2024-10-16 13:53:59

Shell命令_smem的相关文章

批量执行shell命令

虽然目前都实现了自动化如puppet saltstack在环境中的应用,但工作中不可避免的要自己写一些简单的批量执行shell命令的脚本. python paramiko模块是目前使用得较为顺手的模块,执行命令时基本无需要转换,直接将shell命令扔进去执行就OK 简单示例,10个线程同时执行ssh或scp动作,未设置timeout时间,如执行长时间无反应会导致脚本执行问题: #!/usr/bin/python # _*_ coding: utf-8 _*_ import paramiko im

Linux下的C程序,使用函数execlp运行Shell命令

通过C程序运行Shell命令,使用execlp函数 execlp的几个参数分别为:文件名,各个参数,(char*)0 其中"各个参数"部分中的第一个参数就是文件名(相当于文件名要输入两遍) 最后一个参数写(char*)0就可以了 文件b.cpp代码: 循环地输入命令→执行命令,直到按下Ctrl+C结束 #include <stdio.h> #include <string.h> #include <unistd.h> #include <std

使用sh库执行shell命令

python中执行shell命令 之前执行shell命令多是通过os.system(shell命令)的方式来执行,比较麻烦. 了解到sh是一个比subprocess好的库,能够执行shell命令 1.查看ip: [[email protected] myblog]# ifconfigeth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500inet 172.31.253.193 netmask 255.255.240.0 broadcas

adb shell 命令详解

adb介绍 SDK的Tools文件夹下包含着Android模拟器操作的重要命令adb,adb的全称为(Android Debug Bridge就是调试桥的作用.通过adb我们可以在Eclipse中方面通过DDMS来调试Android程序.借助这个工具,我们可以管理设备或手机模拟器的状态.还可以进行以下的操作:  1.快速更新设备或手机模拟器中的代码,如应用或Android 系统升级: 2.在设备上运行shell命令: 3.管理设备或手机模拟器上的预定端口: 4.在设备或手机模拟器上复制或粘贴文件

Python之路35-subprocess模块和Python3中常用执行shell命令方法

import subprocess #执行命令,返回命令执行状态 , 0 or 非0 retcode = subprocess.call(["free","-m"])    #返回值可判断执行是否正确,命令执行结果直接返回到屏幕 #执行命令,如果命令结果为0,就正常返回,否则抛异常 result = subprocess.check_call(["ls","-l"]) #执行命令,并返回结果,注意是返回结果,不是打印,下例结果

vim中执行shell命令

1):!command 不退出vim,并执行shell命令command,将命令输出显示在vim的命令区域,不会改变当前编辑的文件的内容 例如 :!ls -l 特别的可以运行:!bash来启动一个bash shell并执行命令,不需要退出vim 2):r !command 将shell命令command的结果插入到当前行的下一行 例如 :r !date,读取时间并插入到当前行的下一行.

awk中可以使用system来执行复杂的shell命令

在awk中可以直接执行shell命令. [plain] view plain copy [email protected]:~$ touch a [email protected]:~$ touch b [email protected]:~$ cat a.txt a b [email protected]:~$ awk '{cmd="rm "$0;system(cmd)}' a.txt [email protected]:~$ ls a.txt      dd            

java程序执行,调用shell命令和shell脚本

  坑呀!记得在start()之后, waitFor()之前把缓冲区读出来打log,否则是阻塞缓冲区,没有输出的 package com.jikexueyuancrm.util; import java.io.BufferedReader; import java.io.DataOutputStream; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import

Java调用Shell命令和脚本,致力于hadoop/spark集群

前言 说明的是,本博文,是在以下的博文基础上,立足于它们,致力于我的大数据领域! http://kongcodecenter.iteye.com/blog/1231177 http://blog.csdn.net/u010376788/article/details/51337312 http://blog.csdn.net/arkblue/article/details/7897396 第一种:普通做法 首先,编号写WordCount.scala程序. 然后,打成jar包,命名为WC.jar.