查看 Linux 系统中进程和用户的内存使用情况

有一些命令可以用来检查 Linux 系统中的内存使用情况,下面是一些更好的命令。

-- Sandra Henry-stocker

有许多工具可以查看 Linux 系统中的内存使用情况。一些命令被广泛使用,比如free、ps。而另一些命令允许通过多种方式展示系统的性能统计信息,比如top。在这篇文章中,我们将介绍一些命令以帮助你确定当前占用着最多内存资源的用户或者进程。

下面是一些按照进程查看内存使用情况的命令:

按照进程查看内存使用情况

使用 top

top

是最好的查看内存使用情况的命令之一。为了查看哪个进程使用着最多的内存,一个简单的办法就是启动top,然后按下 ,这样便可以查看按照内存占用百分比从高到底排列的进程。当你按下了 ,你的top应该会得到类似于下面这样的输出结果:

注意 排序。列表的大小取决于你的窗口大小,但是占据着最多的内存的进程将会显示在列表的顶端。

使用 ps

ps

命令中的一列用来展示每个进程的内存使用情况。为了展示和查看哪个进程使用着最多的内存,你可以将ps命令的结果传递给sort命令。下面是一个有用的示例:

在上面的例子中(文中已截断),sort命令使用了 选项(反转)、 选项(数字值)、 选项(关键字),使sort命令对ps命令的结果按照第四列(内存使用情况)中的数字逆序进行排列并输出。如果我们首先显示ps命令的标题,那么将会便于查看。

如果你喜欢这个命令,你可以用下面的命令为他指定一个别名,如果你想一直使用它,不要忘记把该命令添加到你的 文件中。

下面是一些根据用户查看内存使用情况的命令:

按用户查看内存使用情况

使用 top

按照用户检查内存使用情况会更复杂一些,因为你需要找到一种方法把用户所拥有的所有进程统计为单一的内存使用量。

如果你只想查看单个用户进程使用情况,top命令可以采用与上文中同样的方法进行使用。只需要添加 选项并在其后面指定你要查看的用户名,然后按下 便可以按照内存使用有多到少进行查看。

使用 ps

你依旧可以使用ps命令通过内存使用情况来排列某个用户的进程。在这个例子中,我们将使用grep命令来筛选得到某个用户的所有进程。

使用 ps 和其他命令的搭配

如果你想比较某个用户与其他用户内存使用情况将会比较复杂。在这种情况中,创建并排序一个按照用户总的内存使用量是一个不错的方法,但是它需要做一些更多的工作,并涉及到许多命令。在下面的脚本中,我们使用ps aux | grep -v COMMAND | awk '' | sort -u命令得到了用户列表。其中包含了系统用户比如 。我们对每个任务使用awk命令以收集每个用户总的内存使用情况。在最后一步中,我们展示每个用户总的内存使用量(按照从大到小的顺序)。

这个脚本的输出可能如下:

在 Linux 有许多方法可以报告内存使用情况。可以通过一些用心设计的工具和命令,来查看并获得某个进程或者用户占用着最多的内存。

via:https://www.networkworld.com/article/3516319/showing-memory-usage-in-linux-by-process-and-user.html

作者:Sandra Henry-Stocker选题:lujun9972译者:萌新阿岩校对:wxy

本文由LCTT原创编译,Linux中国荣誉推出

:看到这里点一下在看呗?

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20200204A05DLT00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券