13

Free空闲内存与可用内存的区别

 2 years ago
source link: https://www.myfreax.com/free-vs-available-memory-in-linux/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

有时我们需要准确地知道我们的Linux系统如何使用内存。本文将研究如何使用free命令行程序查看Linux系统上的内存使用情况。我们将清楚地定义Linux系统上空闲Free内存和可用内存之间的区别。

了解可用内存与空闲内存

什么是空闲内存,它与可用内存有什么不同?

空闲内存是当前的内存量不用于任何东西。出于这个原因,尤其是在服务器上,我喜欢将空闲内存视为浪费的内存。一旦您的应用程序启动并经过了相当长的正常运行时间,这个数字几乎总是很小。

可用内存是可用于分配给新进程或现有进程的内存量。可用内存是不需要swap交换空间即可使用的内存量的估计。

Linux中空闲内存与可用内存之间区别在于,空闲内存未在使用中,并且无所事事。虽然可用内存是使用过的内存,包括但不限于缓存和缓冲区,但可以在没有使用交换空间swap的性能损失的情况下释放它们。

比较空闲内存和可用内存。

考虑到这一点,让我们看看两台60GB内存的Linux服务器。服务器A服务器B。我们将使用free命令:

要查看 Linux 中的可用内存与空闲内存,请登录到您的服务器并输入以下命令:

free -h

结果应该类似于下面这两个屏幕截图。我还运行了uptime命令以确认两个系统都已在线一段时间。

服务器 A:空闲内存少于 1%(浪费内存),13GB可用内存。

服务器 B:在 153 天的正常运行时间之后,仍然浪费了30GB的内存(free)。

以上是Linux中空闲内存与可用内存之间的区别。当您比较两个系统时,即使负载平均值相似(处理相同的工作负载),很明显一台服务器几乎使用了其内存的100%(服务器 A),而另一台服务器则浪费了50%以上的内存(服务器 B)。请注意,这两款服务器都有12个CPU核心,并且可以交换到RAID 10 NVMe存储。

请注意,即使有可用内存,Linux内核也会将最不常用的内存页移动到交换空间中

不要因为查看Linux系统上的“空闲”内存而匆忙下结论,因为您还应该考虑可用内存、缓冲区/缓存和其他概述的因素。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK