如有你想得到整个系统中所有用户的内存使用情况,就需要使用root权限来运行smem。
代码如下:
(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/fuwuqi/)$ sudo smem
也可以按用户维度来输出报告:
代码如下:
(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/fuwuqi/)$ sudo smem -u
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
这个例子会生成一张饼图,图中显示了系统中各进程的PSS内存使用量:
代码如下:
(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/fuwuqi/)$ sudo smem --pie name -c "pss"
概括来说,smem是一个方便易用的内存分析工具。利用smem的格式化输出,你可以对内存使用报告进行自动化分析,并执行一些自动化的处理措施。如果你还知道其他的一些优秀的内存检测工具,请在留言区告诉我。