在Linux中可视化显示内存占用情况的方法

EJ6T0S

EJ6T0S

2016-03-31 15:32

下面图老师小编跟大家分享在Linux中可视化显示内存占用情况的方法,一起来学习下过程究竟如何进行吧!喜欢就赶紧收藏起来哦~

在Linux中可视化显示内存占用情况的方法

   物理内存不足对Linux桌面系统和服务器系统的性能影响都很大。当你的计算机变慢时,要做的第一件事就是释放内存。尤其是在多用户环境以及执行关键任务的服务器环境下,内存消耗会变得更加关键,因为多个用户和应用线程会同时竞争更多的内存空间。

  如果要监测系统内各种资源的使用情况(比如说CPU或内存),图形化显示是一种高效的方法,通过图形界面可以快速分析各用户和进程的资源消耗情况。本教程将给大家介绍在linux下图形化分析内存使用情况的方法,使用到命令行工具是smem.

  物理内存使用情况: RSS 、 PSS 和 USS

  由于Linux使用到了虚拟内存(virtual memory),因此要准确的计算一个进程实际使用的物理内存就不是那么简单。 只知道进程的虚拟内存大小也并没有太大的用处,因为还是无法获取到实际分配的物理内存大小。

  RSS(Resident set size),使用top命令可以查询到,是最常用的内存指标,表示进程占用的物理内存大小。但是,将各进程的RSS值相加,通常会超出整个系统的内存消耗,这是因为RSS中包含了各进程间共享的内存。

  PSS(Proportional set size)会更准确一些,它将共享内存的大小进行平均后,再分摊到各进程上去。

  USS(Unique set size )是PSS中自己的部分,它只计算了进程独自占用的内存大小,不包含任何共享的部分。

  安装Smem

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/fuwuqi/)

  smem是一个能够生成多种内存耗用报告的命令行工具,它从/proc文件系统中提取各进程的PSS/USS信息,并进行汇总输出。它还内建了图表的生成能力,所以能够方便地分析整个系统的内存使用情况。

  在Debian, Ubuntu 或 Linux Mint 上安装smem

  代码如下:

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/fuwuqi/)

  $ sudo apt-get install smem

  在Fedora 或 CentOS/RHEL上安装Smem

  在CentOS/RHEL上,你首先得启用EPEL仓库。

  代码如下:

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/fuwuqi/)

  $ sudo yum install smem python-matplotlib

  使用smem检查内存使用情况

  你可以在非特权模式下使用smem,它能够显示当前用户运行的所有进程的内存使用情况,并按照PSS的大小进行排序。

  代码如下:

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/fuwuqi/)

  $ smem

在Linux中可视化显示内存占用情况的方法 图老师

  如有你想得到整个系统中所有用户的内存使用情况,就需要使用root权限来运行smem。

  代码如下:

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/fuwuqi/)

  $ sudo smem

2015615163610148.jpg (640×325)

  也可以按用户维度来输出报告:

  代码如下:

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/fuwuqi/)

  $ sudo smem -u

2015615163631697.jpg (599×330)

  smem提供了以下选项来对输出结果进行筛选,支持按映射方式(mapping)、进程和用户三个维度的筛选:

  -M 正则表达式

  -P 正则表达式

  -U 正则表达式

  想了解smem更多的使用方式,可以查询用户手册(man page)。

  使用smem图形化显示内存使用情况

  图形化的报告使用起来会更加方便快捷。smem支持两种格式的图形显示方式:直方图和饼图。

  下面是一些图形化显示的实例。

  下面的命令行会基于PSS/RSS值,生成直方图,以用户alice为例。

  代码如下:

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/fuwuqi/)

  $ sudo smem --bar name -c "pss uss" -U alice

2015615163730178.jpg (640×492)

  这个例子会生成一张饼图,图中显示了系统中各进程的PSS内存使用量:

  代码如下:

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/fuwuqi/)

  $ sudo smem --pie name -c "pss"

2015615163755895.jpg (640×452)

  概括来说,smem是一个方便易用的内存分析工具。利用smem的格式化输出,你可以对内存使用报告进行自动化分析,并执行一些自动化的处理措施。如果你还知道其他的一些优秀的内存检测工具,请在留言区告诉我。

展开更多 50%)
分享

猜你喜欢

在Linux中可视化显示内存占用情况的方法

服务器
在Linux中可视化显示内存占用情况的方法

书法字体在设计中的应用及信息可视化研究

平面设计 海报设计 广告设计 画报设计 签名设计 服装设计 名片设计 画册设计 版式设计 商标设计
书法字体在设计中的应用及信息可视化研究

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

详细解析信息可视化图表的设计方法

平面设计 海报设计 广告设计 画报设计 签名设计 服装设计 名片设计 画册设计 版式设计 商标设计
详细解析信息可视化图表的设计方法

用Delphi编写自己的可视化控件

编程语言 网络编程
用Delphi编写自己的可视化控件

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

36个卓越的可视化数据工具分享

平面设计 海报设计 广告设计 画报设计 签名设计 服装设计 名片设计 画册设计 版式设计 商标设计
36个卓越的可视化数据工具分享

如何用Delphi编写自己的可视化控件

编程语言 网络编程
如何用Delphi编写自己的可视化控件

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

iPhone 6s怎么关机?

iPhone 6s怎么关机?

在Linux中如何恢复被删除的文件

在Linux中如何恢复被删除的文件
下拉加载更多内容 ↓