通过 top 命令理解 free 命令

通过 top 命令理解 free 命令

我有个疑问。

我启动 ubuntu 并运行 free 命令。我将获得可用的总空间。假设为 100MB。

现在我运行一些应用程序。

过了一段时间,我再次运行 free 命令。现在有 80MB 了。

总使用内存为 20MB。有没有办法找出哪些应用程序使用了这 20 MB 内存。top 命令对此有帮助吗?

答案1

虽然我并不完全熟悉top格式化的工作原理,但我可以提供一些解决方法。

附言

ps命令随 procps 软件包一起提供,是系统上随时可用的标准实用程序之一。-aux开关将输出系统上所有用户和程序的进程,而--sort %mem用于按内存使用百分比对输出进行排序。简而言之:ps -aux --sort %mem

氢能顶盖

Htop 是 top 的一个变体,但外观和功能更出色(至少在我看来)。按F6可以按您想要的质量对输出进行排序,也可以按内存排序,还可以按百分比排序。

在此处输入图片描述

一些注意事项:至于为什么内存会被消耗这么多,您可能知道关闭程序并不总是意味着其进程已停止 - 它实际上可能会闲置并消耗您的内存。您可以使用htopps找到该进程的 pid,然后使用kill命令或htop内置 kill 函数将其杀死。尝试在系统监视器程序中使用进程优先级(右键单击该进程并将光标悬停在 Changer Priority 上)。虽然这与 CPU 使用率更相关,但 CPU 使用内存来处理每个命令,并且只有更简单的任务在内部寄存器中(如果我没记错的话,这是计算机科学入门课的内容)。

答案2

Top 显示活动进程,包括内存。

系统监视器是进行内存使用情况分析的用户友好型(GUI)方式(前提是应用程序仍然处于打开状态)。

另外,请注意,一旦程序在会话中使用了内存,它可能仍会保留在缓冲区中,直到另一个程序需要它为止。摘自手册:

free displays the total amount of free and used physical and swap memory
in the system, as well as the buffers used by the kernel.

因此,如果您关闭 Firefox,该内存可能会保留在缓存中,以防您想再次启动 Firefox。

相关内容