在Linux上:我们看到以下内容:物理,真实,交换,虚拟内存 - 我们应该考虑哪些尺寸?

时间:2012-10-16 14:36:56

标签: linux memory virtual ram

我们使用工具(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上需要更多内存吗? 换句话说,我应该去:

  • 所有内存图(表示内存状况良好)或
  • 物理内存图(表示内存情况不好)。

2 个答案:

答案 0 :(得分:8)

真实和物理

物理内存是当前使用的DRAM数量。实内存显示应用程序使用系统DRAM内存的程度。它大致低于物理内存。 Linux系统缓存一些磁盘数据。这种缓存是物理内存和实内存之间的差异。实际上,当你有空闲内存时,Linux会将其用于缓存。别担心,因为你的应用程序需要内存,所以它们会重新获得缓存空间。

交换和虚拟

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

你需要额外的记忆吗?

在回答您的问题时,您需要检查实际内存。如果你的真实内存已满,你需要获得一些内存。使用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(第二行)。在您的系统上检查这一点,看看是否需要更多内存。这些行分别代表物理,实际和交换内存。

答案 1 :(得分:0)

免费-m

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

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

您应总结“已用” +“共享”并与“总计”进行比较

其他列毫无用处,只是造成混淆,仅此而已

我会说

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

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

# cat /proc/meminfo
MemAvailable:     107304 kB

MemAvailable-是Linux认为在主动交换发生之前,当前真正可用的内存量。 因此,您现在最多可以消耗107304 kB。如果你 消耗更多的交换开始。

MemAvailable也与实际实践紧密相关。