1GB DO Droplet 上的内存概览

我刚从一台 2GB 的机器迁移到一台 1GB 的机器来运行我的论坛。这台机器不到一年新,用户量不大,只有 170 位会员。

在 Digital Ocean 中,我看到:

我很确定,在我那台 2GB 的机器上,内存利用率在 80% 左右。

这里是一些命令。

htop

free -h

登录系统时

我不熟悉 swap 的工作原理,但从登录时的系统信息来看,我的内存使用量似乎远低于 Digital Ocean 显示的数值。这是因为使用了 swap 吗?我想评估一下这台 1GB 的实例在当前和未来用户量下的表现。

“可用内存”这个概念很难准确理解,因为它是一种灵活的资源,可以用于不同的目的。

话虽如此,你的内存有点紧张——我也是,情况差不多(过去 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% 的截图似乎是正确的,并且意味着我并没有真正接近任何危险……

您可能从错误的角度看待这个问题。

如果您想把 Ed 给您的答案写在纸上,只需要记住一个单词的能力就足够了。您只需把它写下来,然后抬头看屏幕记住下一个单词,以此类推。即使您只能记住一个字符,它也能起作用。但是,如果您能一次记住整个帖子,就能节省时间。您不必浪费时间反复抬头查看,分批处理。

如果我没记错的话,当一个程序有更多的可用内存时,它会使用更多的内存,并且会提高其性能。它不是一个固定的使用值。另外,RAM 比磁盘快得多:使用 RAM 而不是交换空间更好。

我不知道您为什么这么说。您是不是看了错误的行?或者也许是我误解了“远低于”的意思。会不会是图表末尾的小刻度线稍微低一点?

由于任何正在使用的内存都可以被换出,因此如果需要,可以释放它。因此,测量正在使用的内存量并不能告诉您有多少内存可能被使用,如果可用内存更多,或者是否存在内存压力。这就像试图通过观察气球的大小来测量气球中有多少空气。嗯,不是这样,但我敢肯定 somewhere 有一个类比。也许这就像通过查看收银机里有多少现金来衡量零售店的成功程度。

需要注意的是,“内存不足”有两种截然不同的含义——一种是“我的论坛运行缓慢”,另一种是“我的论坛崩溃了”。

对于小型、低流量的论坛来说,1G 似乎仍然足够,尽管软件的新版本可能会使其更加勉强。

2 个赞