我刚从一台 2GB 的机器迁移到一台 1GB 的机器来运行我的论坛。这台机器不到一年新,用户量不大,只有 170 位会员。
在 Digital Ocean 中,我看到:
我很确定,在我那台 2GB 的机器上,内存利用率在 80% 左右。
这里是一些命令。
htop
free -h
登录系统时
我不熟悉 swap 的工作原理,但从登录时的系统信息来看,我的内存使用量似乎远低于 Digital Ocean 显示的数值。这是因为使用了 swap 吗?我想评估一下这台 1GB 的实例在当前和未来用户量下的表现。
Ed_S
(Ed S)
2
“可用内存”这个概念很难准确理解,因为它是一种灵活的资源,可以用于不同的目的。
话虽如此,你的内存有点紧张——我也是,情况差不多(过去 7 天有 78 个活跃用户,过去 30 天有 114 个活跃用户):
total used free shared buff/cache available
Mem: 985M 780M 63M 23M 141M 53M
Swap: 2.0G 1.1G 964M
我已经在别处写过,最近也写过,也许可以参考一下这些评论:
还有
你每天需要担心两件事:论坛的性能,以及因为实际内存不足(意味着你的交换空间全部用完且不够)而导致崩溃的可能性。如果你能监控交换空间活动,使用提供商的仪表板或在命令行中使用 vmstat 5 5,我建议你这样做。如果你能监控论坛的响应能力,也许也可以这样做。
然后,每月进行一次更新,这需要比日常论坛运行更多的内存。如果在更新期间大量使用交换空间,更新将比平时花费更长的时间。如果你的交换空间耗尽,可能会导致崩溃,这可能会非常糟糕。
你的交换空间已经用了一半——如果你有足够的磁盘空间将其加倍,那就这样做吧。
编辑:也许也可以看看 https://www.linuxatemyram.com/
7 个赞
您的帖子底部有很棒的信息和链接!
在我的实例中,我看到我有 74MB 可用,但我确实看到 165MB 被用于缓冲区/缓存。如果我理解正确,这可以被系统使用。这是磁盘缓存的一部分……在您的链接中,似乎“可用”是指包括缓冲区/缓存的所有可用内容。所以我仍然感到困惑。
但是,我看到我使用了 968MB 总内存中的 723MB,这告诉我仍有 245MB 备用……
我应该这样做吗?
如果是这样,那么我之前分享的显示“系统信息”内存使用率为 83% 的截图似乎是正确的,并且意味着我并没有真正接近任何危险……
Mevo
4
您可能从错误的角度看待这个问题。
如果您想把 Ed 给您的答案写在纸上,只需要记住一个单词的能力就足够了。您只需把它写下来,然后抬头看屏幕记住下一个单词,以此类推。即使您只能记住一个字符,它也能起作用。但是,如果您能一次记住整个帖子,就能节省时间。您不必浪费时间反复抬头查看,分批处理。
如果我没记错的话,当一个程序有更多的可用内存时,它会使用更多的内存,并且会提高其性能。它不是一个固定的使用值。另外,RAM 比磁盘快得多:使用 RAM 而不是交换空间更好。
我不知道您为什么这么说。您是不是看了错误的行?或者也许是我误解了“远低于”的意思。会不会是图表末尾的小刻度线稍微低一点?
Ed_S
(Ed S)
5
由于任何正在使用的内存都可以被换出,因此如果需要,可以释放它。因此,测量正在使用的内存量并不能告诉您有多少内存可能被使用,如果可用内存更多,或者是否存在内存压力。这就像试图通过观察气球的大小来测量气球中有多少空气。嗯,不是这样,但我敢肯定 somewhere 有一个类比。也许这就像通过查看收银机里有多少现金来衡量零售店的成功程度。
需要注意的是,“内存不足”有两种截然不同的含义——一种是“我的论坛运行缓慢”,另一种是“我的论坛崩溃了”。
对于小型、低流量的论坛来说,1G 似乎仍然足够,尽管软件的新版本可能会使其更加勉强。
2 个赞