服务器运行良好,但我不知道是否应该获得更多 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 提供给需要它的应用程序。