我们使用工具(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上需要更多内存吗? 换句话说,我应该去:
答案 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)
关于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也与实际实践紧密相关。