3

我们使用一个工具(Whats Up Gold)来监控 Linux Box 上的内存使用情况。我们看到与以下相关的内存使用情况(图表):

物理、真实、交换、虚拟内存和所有内存(这是所有这些的平均值)。

'The ALL' Memory graphs show low memory usage of about: 10%. 
But Physical memory shows as 95% used.
Swap memory shows as 2% used.

那么,我需要在这个 Linux Box 上增加内存吗?换句话说,我应该通过:

  • ALL 内存图(表示内存情况良好)或
  • 物理内存图(表示内存情况很糟糕)。
4

2 回答 2

8

真实的和物理的

物理内存是当前使用的 DRAM 数量。实际内存显示您的应用程序使用系统 DRAM 内存的程度。它大致低于物理内存。Linux系统缓存了一些磁盘数据。这种缓存是物理内存和真实内存之间的区别。实际上,当您有空闲内存时,Linux 会使用它进行缓存。不用担心,因为您的应用程序需要内存,它们会取回缓存空间。

交换和虚拟

交换是实际 DRAM 的额外空间。这个空间是从磁盘空间借来的,一旦你的应用程序填满了整个 DRAM,Linux 会将一些未使用的内存转移到交换空间以让所有应用程序保持活动状态。交换和物理内存的总和是虚拟内存。

你需要额外的内存吗?

在回答您的问题时,您需要检查真实内存。如果您的真实内存已满,则需要获得一些 RAM。使用free命令检查实际可用内存量。例如在我的系统上free说:

$ free
                 total       used       free     shared    buffers     cached
    Mem:      16324640    9314120    7010520          0     433096    8066048
    -/+ buffers/cache:     814976   15509664
    Swap:      2047992          0    2047992

您需要检查缓冲区/缓存部分。如上所示,我的系统上有真正的 15 GB 空闲 DRAM(第二行)。在你的系统上检查这个,看看你是否需要更多的内存。这些线分别代表物理内存、真实内存和交换内存。

于 2012-10-16T14:57:00.300 回答
0

免费-m

至于关于linux内存不足的免费工具analisys,我有一些实验证明的观点(实践)

~# free -m
              total        used        free      shared  buff/cache   available
Mem:           2000         164         144        1605        1691         103

你应该总结 'used'+'shared' 并与 'total' 比较

其他列没用只是混淆而已

我会说

[ total - (used + shared ) ] should be always at least > 200 MB

如果您在 meminfo 中检查 MemAvailable,您也可以获得几乎相同的数字:

# cat /proc/meminfo
MemAvailable:     107304 kB

MemAvailable - 是在主动交换发生之前 linux 认为现在真正空闲的内存量。所以现在你最多可以消耗 107304 kB。如果你消耗更多的大交换开始发生。

MemAvailable 也与实际实践有很好的相关性。

于 2020-05-23T14:57:29.243 回答