最新消息:

使用Smem精确显示Linux下内存使用情况

IT技术 ipcpu 3086浏览

使用Smem精确显示Linux下内存使用情况

smem 能够为你报告内存的占用情况,提供 PID、User、Command、Swap、USS、PSS、RSS 等信息。
除了一般的文本信息报告外,smem 也可以生成条状或饼状图。

项目地址

https://www.selenic.com/smem/

安装

smem 要求 Kernel 2.6.27以上并且Python 2.4 及以上版本、绘图功能依赖matplotlib 库。
可以使用yum或者apt直接安装。

  1. yum install smem

smem的基本使用

a. 默认情况下不加任何参数,显示所有进程的内存使用情况

  1. [root@BJ-BX-129-182 ~]#smem
  2. PID User Command Swap USS PSS RSS
  3. 1530 root /sbin/mingetty /dev/tty1 0 68 98 536
  4. 1532 root /sbin/mingetty /dev/tty2 0 68 98 536
  5. 1547 root /sbin/mingetty /dev/tty6 0 68 98 536
  6. Output Omited...
  7. 17142 root /home/app/open-falcon/dashb 0 13092 14087 19800
  8. 17139 root /home/app/open-falcon/dashb 0 13104 14093 19800
  9. 17138 root /home/app/open-falcon/dashb 0 13224 14215 19920
  10. 17145 root /home/app/open-falcon/dashb 0 13468 14470 20184
  11. 13593 mysql /usr/libexec/mysqld --based 0 28716 29089 30276
  12. [root@BJ-BX-129-182 ~]#

b. -w参数,显示内存的整体使用情况

  1. [root@BJ-BX-129-182 ~]#smem -w
  2. Area Used Cache Noncache
  3. firmware/hardware 0 0 0
  4. kernel image 0 0 0
  5. kernel dynamic memory 2501892 2414344 87548
  6. userspace memory 236364 40848 195516
  7. free memory 1186788 1186788 0
  8. [root@BJ-BX-129-182 ~]#

c. -p参数,显示内存使用百分比,-u按照用户显示

  1. [root@BJ-BX-129-182 ~]#smem -up
  2. User Count Swap USS PSS RSS
  3. postfix 2 0.00% 0.07% 0.10% 0.18%
  4. redis 1 0.00% 0.16% 0.17% 0.18%
  5. mysql 1 0.00% 0.73% 0.74% 0.77%
  6. root 36 0.00% 4.73% 5.04% 6.76%
  7. [root@BJ-BX-129-182 ~]#

内存 VSS,RSS,PSS,USS的区别

VSS – Virtual Set Size 虚拟耗用内存(包含共享库占用的内存)
RSS – Resident Set Size 实际使用物理内存(包含共享库占用的内存)
PSS – Proportional Set Size 实际使用的物理内存(比例分配共享库占用的内存)
USS – Unique Set Size 进程独自占用的物理内存(不包含共享库占用的内存)
一般来说内存占用大小有如下规律:VSS >= RSS >= PSS >= USS



参考文章

http://myeyeofjava.iteye.com/blog/1837860
http://www.jianshu.com/p/b1c2b8bdec26

来自为知笔记(Wiz)

转载请注明:IPCPU-网络之路 » 使用Smem精确显示Linux下内存使用情况