如何检查Ubuntu Linux上的内存使用情况,我们可以安装并使用Smem内存报告工具来显示Ubutnu Linux系统上的内存使用情况。 Smem是一个命令行工具,用于检查Linux,每个进程的内存使用情况,百分比或图表。
smem是一个可以在Linux系统上提供大量内存使用情况报告的工具。 与现有工具不同,smem可以报告比例集合大小(PSS),这是对虚拟内存系统中库和应用程序使用的内存量的更有意义的表示。
Smem使用被称为Resident Set Size(RSS)的标准内存度量来报告 Unique Set Size (USS)和Proportional Set Size (PSS)。
Unique Set Size (USS) - 不被记忆的内存。 内存不与任何其他进程共享。
Proportional Set Size (PSS) – 共享一个进程的内存。 简而言之,它是共享内存的份额.
USS和PSS只包括物理内存使用情况。 它们不包括已被换出到磁盘的内存。 最终的内存使用量可以通过进程,用户,映射或全系统文本模式或图形模式输出进行报告。
smem功能:
系统概览列表
按流程列出,映射,用户
按进程,映射或用户进行过滤
来自多个数据源的可配置列
可配置的输出单位和百分比
可配置的标题和总计
从/ proc读取实时数据
从目录镜像或压缩tarball中读取数据快照
轻量级嵌入式系统的捕获工具
内置图表生成
smem要求:
在/proc//smaps中提供“Pss”度量的Linux内核(一般为2.6.27或更新版本)。
Python 2.x(至少2.4左右)。
matplotlib库(仅当您想要生成图形图表时)。
在Ubuntu上安装smem
在终端中运行以下命令来安装最新版本的smem工具:
sudo apt-get update
sudo apt-get install smem
请注意,smem主要是一个命令行工具,可以通过终端访问。
在Ubuntu上使用smem
一旦安装成功,用户可以轻松使用它。 Smem是一个命令行工具,可以通过终端访问。 有各种命令行选项smem命令。 用户可以通过映射,用户或系统来记忆使用情况。 默认情况下,smem将显示每个正在运行的进程和使用的内存。 在这里你开始注意到RSS报告的内存相对于USS和PSS的使用方式。
如果没有包含这些选项,则会为所有进程,用户或映射报告内存使用情况。 (注意:如果您以非root用户身份运行,并且没有使用-source选项,则只能看到您有权访问的/proc/信息的进程的数据。)
示例1:显示每个库使用的memeory。
$ smem -m
示例2:显示根据特定应用程序使用的内存。 下面给出的命令将显示Firefox的内存使用情况。 -p选项以百分比显示内存使用情况。
$ smem -m -p | grep firefox
示例3:显示饼图介质中使用的内存(RSS由名称标记)。
$ smem --pie name -s rss
与显示条形图内存使用情况(标记为pid)类似,在终端中运行命令smem –bar pid -c “pss uss”
以下是可以使用smem命令的各种选项。
报告
-m,-mappings通过映射报告内存使用情况。
-u, -users报告用户的内存使用情况。
-w, –系统报告系统内存使用情况摘要。
过滤
M MAPFILTER, –mapfilter=MAPFILTER 映射过滤器正则表达式。
-P PROCESSFILTER, –processfilter=PROCESSFILTER 进程筛选正则表达式。
-U USERFILTER, –userfilter=USERFILTER 用户过滤正则表达式。
输出格式
-c COLUMNS, –columns=COLUMNS 要显示的列。
-H, –no-header 禁用标题行。
-k, –abbreviate 显示单位后缀。
-n, –numeric 显示数字用户ID而不是用户名。
-p, –percent 显示百分比。
-r, –reverse 反向排序。
-s SORT, –sort=SORT 字段进行排序。
-t, –totals 显示总计。
输出类型
这些选项指定图形输出样式。
–bar=BAR 显示条形图。
–pie=PIE 显示饼图。