顶部告诉我:
last pid: 64807; load averages: 0.99, 0.97, 0.92 up 189+04:47:22 09:16:17
45 processes: 1 running, 44 sleeping
CPU: 0.4% user, 0.0% nice, 0.2% system, 6.4% interrupt, 93.0% idle
Mem: 222M Active, 2151M Inact, 2008M Wired, 823M Buf, 3499M Free
Swap: 8192M Total, 8192M Free
Run Code Online (Sandbox Code Playgroud)
穆宁更清楚地展示了这一点:
如您所见,服务器有大约 8GB 的内存。我想知道我是否可以把这个野兽塞进一个更普通的 2GB 服务器。现在我知道 active 和 buffers 是什么意思了,我想。但我真的很担心内存的“有线”和“非活动”斑点。据我所知,这些并没有映射到任何现有的流程。
请注意绿色“活动”线在 12 月是如何上升的:那是我们开始在此路由器上使用 BGP 守护程序的时候。我不完全明白四月和五月发生了什么,但我记得当时做了系统升级并切换到pkgng。
这是第一个的备用路由器,内存较少(4GB):
看起来这个服务器用一半的 RAM 运行得很好,仍然有大约 2GB 的空闲空间,这让我相信我可以为这台服务器切换到 2GB 的盒子,降低成本和维护......
有什么建议?顶部显示的各种内存计数器是什么意思?更具体地说,有什么作用:
...真正的意义?我找到了一些解释 VM 子系统工作原理的帖子,我记得有一个“啊-啊!” 大约在 12 年前了解所有这一切,但我忘记了。:) 即使是忠实的 FreeBSD 手册也未能回答我的问题......
我可以降级到 2GB 吗?
小智 27
Active
:进程当前正在使用的内存Inactive
: 已释放但仍缓存的内存,因为它可能会再次使用。如果Free
需要更多内存,则可以清除此内存并使其空闲。这个内存在需要之前不会被清除,因为“空闲内存是浪费内存”,保留旧数据以备再次需要时不需要任何成本。Wired
: 内核正在使用的内存。此内存无法换出Cache
: 用于缓存数据的内存,如果需要可以立即释放Buffers
: 磁盘缓存Free
:完全免费且随时可用的内存。Inactive
,Cache
并且Buffers
如果它们被清理干净就可以免费。因此,您可以将其添加Inactive
到您的Free
计数中并将其视为未使用的。Wired
是内核使用的内存,包括网络堆栈。运行netstat -m
将为您提供网络堆栈的内存使用情况摘要。
根据您的图表,除了wired
3 月初相关的内存跳跃之外,是的,您应该能够在 2GB 内存上运行该工作负载。如果这样做,请考虑运行 i386 而不是 amd64,因为每个内存分配将占用更少的空间,因为指针将是 32 位而不是 64 位。