1GB 缓存内存 - 我需要更多 RAM 吗?

1GB 缓存内存 - 我需要更多 RAM 吗?

服务器运行良好,但我不知道是否应该获得更多 RAM。我只有几个 MB 的“可用”内存和 1.2GB 的“缓存”内存:

自由的:

             total       used       free     shared    buffers     cached
Mem:          3945       3893         51          0         28       1216
-/+ buffers/cache:       2648       1296
Swap:         3895        857       3038

我了解到缓存内存在空闲时被使用,而在空闲时则不被使用。

缓存值是否表明需要更多 RAM?

刷新缓存 1 天后,cat /proc/meminfo:

MemTotal:      4040048 kB
MemFree:         32844 kB
Buffers:         18956 kB
Cached:        1249092 kB
SwapCached:     161576 kB
Active:        3611328 kB
Inactive:       189104 kB
SwapTotal:     3989496 kB
SwapFree:      2894200 kB
Dirty:           20520 kB
Writeback:           0 kB
AnonPages:     2523496 kB
Mapped:         217744 kB
Slab:            70940 kB
SReclaimable:    36756 kB
SUnreclaim:      34184 kB
PageTables:      99648 kB
NFS_Unstable:        0 kB
Bounce:              0 kB
CommitLimit:   6009520 kB
Committed_AS:  6401716 kB
VmallocTotal: 34359738367 kB
VmallocUsed:     18852 kB
VmallocChunk: 34359719439 kB
HugePages_Total:     0
HugePages_Free:      0
HugePages_Rsvd:      0
HugePages_Surp:      0
Hugepagesize:     2048 kB

顶部:

top - 17:20:10 up 112 days,  3:06,  1 user,  load average: 1.01, 1.62, 1.48
Tasks: 208 total,   1 running, 207 sleeping,   0 stopped,   0 zombie
Cpu(s):  0.6%us,  0.6%sy,  0.0%ni, 97.5%id,  1.3%wa,  0.0%hi,  0.1%si,  0.0%st
Mem:   4040048k total,  3953108k used,    86940k free,    16348k buffers
Swap:  3989496k total,  1095712k used,  2893784k free,  1235436k cached

答案1

缓存值并不表明您可能需要更多 RAM - 可用 RAM 是浪费的 RAM,因此系统将始终尝试用缓存填充任何未使用的 RAM。

您正在使用大量的交换,这可能表明更多的 RAM 可能会有用,但您说系统运行良好,所以可能没问题。

答案2

您有 1296MB 的可用内存可供您的应用程序使用(检查该-/+ buffers/cache:行)。

我无法告诉您是否需要更多内存,您知道您的用途。

Linux 将文件从磁盘缓存到 RAM,以获得更好(更快)的数据访问时间。Linux 将使用所有空闲(应用程序未使用)的 RAM 来缓存磁盘中的数据 - 即使您有大量的 RAM,它也会通过缓存硬盘中的数据来耗尽它们。当应用程序需要使用该 RAM 时,它将转储一些旧的缓存数据,并将该 RAM 提供给需要它的应用程序。

相关内容