ps 输出与 free 命令无关?

ps 输出与 free 命令无关?

我使用以下命令获取所有保留内存(以 KB 为单位)的总和:-

ps aux --sort -rss | awk '{sum +=$6} END {print sum}'
OUTPUT: 14746220 i.e. 14.74GB

但是free -g returns 27GB正如所用。为什么两个输出有差异?ps 不是显示所有内存分配吗?

答案1

我遇到了完全相同的情况。htoptop都报告了大约 95% 的使用率(不包括缓冲区/缓存), 也是如此free -m。 当汇总 中的进程时ps,我只使用了大约 10% 的内存。 我发现这些网站非常有价值:

在我的例子中,是 dentries/inode 缓存占满了内存。我不知道为什么free不把它们算作缓冲区/缓存。您可以使用以下命令刷新此信息,这不会损害系统:

echo 3 > /proc/sys/vm/drop_caches

有关此信息的详细信息如下:https://linux-mm.org/Drop_Caches

相关内容