Linux 中的已用内存?

Linux 中的已用内存?

可能重复:
我如何监控内存使用情况?

我在系统监视器中看到,已用内存只有 332MB,因此可用内存约为 3.4GB,但是当我使用命令行:时free -m,已用内存为 1GB,可用内存只有 2.8GB。

我使用命令行:cat /proc/meminfo -> result same free -m

为什么?谁能帮助我?

截屏

答案1

都在那里。第一行free显示缓冲区占用 124,缓存占用 543;543 + 124 = 667,1000 - 667 = 333。这是第二行free(实际上是 332)显示的。

这就是“空闲内存”和“可用”内存之间的区别。缓冲区/缓存可以随时释放,因此它们实际上不算作系统监视器中的“不可用”内存,但严格来说,它们也不是空闲内存。

从用户的角度来看,“可用”内存更为重要。Linux 将最大化缓冲区/缓存以加快系统速度,但这并不意味着您的内存已满,并且系统会因可用内存不足而变慢。

答案2

查看屏幕截图中空闲输出的第二行。它标记为“-/+ buffers/cache:”

在哪里可以找到等效值。

更多信息请参见http://www.redhat.com/advice/tips/meminfo.html

缓冲区:缓冲区缓存中的内存。如今作为指标几乎毫无用处

缓存:页面缓存(磁盘缓存)中的内存减去 SwapCache

SwapCache:曾经被换出的内存,现在又被换回,但仍在交换文件中(如果需要内存,则不需要再次换出,因为它已经在交换文件中。这样可以节省 I/O)

相关内容