IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者

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

IPCPU--网络之路 2015-11-02 23:30:27 累计浏览 1,998 次
本机暂存

   使用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直接安装。

  • yum install smem

smem的基本使用

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

  • [root@BJ-BX-129-182 ~]#smem

  •  PID User     Command                         Swap      USS      PSS      RSS

  • 1530 root     /sbin/mingetty /dev/tty1           0       68       98      536

  • 1532 root     /sbin/mingetty /dev/tty2           0       68       98      536

  • 1547 root     /sbin/mingetty /dev/tty6           0       68       98      536

  • Output Omited...

  • 17142 root     /home/app/open-falcon/dashb        0    13092    14087    19800

  • 17139 root     /home/app/open-falcon/dashb        0    13104    14093    19800

  • 17138 root     /home/app/open-falcon/dashb        0    13224    14215    19920

  • 17145 root     /home/app/open-falcon/dashb        0    13468    14470    20184

  • 13593 mysql    /usr/libexec/mysqld --based        0    28716    29089    30276

  • [root@BJ-BX-129-182 ~]#

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

  • [root@BJ-BX-129-182 ~]#smem -w

  • Area                           Used      Cache   Noncache

  • firmware/hardware                 0          0          0

  • kernel image                      0          0          0

  • kernel dynamic memory       2501892    2414344      87548

  • userspace memory             236364      40848     195516

  • free memory                 1186788    1186788          0

  • [root@BJ-BX-129-182 ~]#

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

  • [root@BJ-BX-129-182 ~]#smem -up

  • User     Count     Swap      USS      PSS      RSS

  • postfix      2    0.00%    0.07%    0.10%    0.18%

  • redis        1    0.00%    0.16%    0.17%    0.18%

  • mysql        1    0.00%    0.73%    0.74%    0.77%

  • root        36    0.00%    4.73%    5.04%    6.76%

  • [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

同分类推荐文章

  1. 从零重建 macOS 开发机:可复现的环境初始化流程 (2026-06-14 20:36:00)
  2. 百度物理网络监控工具开源第二弹:毫秒级监控工具 baize,让你的网络问题无处遁形 (2026-06-11 08:10:28)
  3. How to Set Up Homebrew Tap for Private CLI Tools: A Complete Guide (2026-05-27 02:13:03)

查看更多 DevOps 文章 →

建议继续学习

  1. Java开发岗位面试题归类汇总 (累计阅读 22,155)
  2. Linux如何统计进程的CPU利用率 (累计阅读 16,307)
  3. 我的 RHCA 之路 (累计阅读 14,011)
  4. Linux内存点滴 用户进程内存空间 (累计阅读 13,228)
  5. 给程序员新手的一些建议 (累计阅读 13,088)
  6. Linux 性能监控、测试、优化工具 (累计阅读 13,010)
  7. 关于linux内存free的一些事情 (累计阅读 12,866)
  8. ps - 按进程消耗内存多少排序 (累计阅读 12,685)
  9. Google怎么用linux (累计阅读 12,580)
  10. Linux Used内存到底哪里去了? (累计阅读 11,866)