Digital Ocean 图表和 droplet 升级

我有一台 2GB 内存、25GB 存储、每月 10 美元的 DigitalOcean Droplet。我的论坛还比较新,因此各项指标都很低,除了:

  • 内存使用率(在 75%–80% 之间,昨天 inexplicably 跳升至 85% 并一直维持在该水平)。安装 Discourse 时,我选择了 2GB 方案,而没有配置交换内存。

  • 磁盘使用率(78%–80%)。有一次在重建 Discourse 时,磁盘空间不足,我不得不先清理一些空间才能再次尝试。是否有办法释放更多空间(例如永久删除“已删除”的主题)?

当各项指标达到什么百分比水平时,我应考虑升级 Droplet?

1 个赞

好的,你需要了解 Discourse 的以下两点工作原理:

  • Discourse 会尽可能多地占用内存以提升响应速度。因此,无论是在 2GB 的 Droplet 上,还是在配置良好的 16GB Droplet 上,内存占用达到 80% 都是正常现象。
  • 除非你上传了大量附件,否则磁盘使用量不应如此之高。你可以尝试运行 ./launcher cleanup 来清理旧图片;如果服务器经历过多次重建,这通常会有很大帮助。

2GB 选项应该包含 SWAP 分区。当内存使用量达到约 4GB 时,系统就会开始使用 SWAP。

4 个赞

感谢您的内存建议。

我会尝试您关于磁盘空间的建议(我没有任何附件)。我怀疑问题是否出在 Digital Ocean 的备份或快照上。

我从这篇早于我安装 Discourse 的帖子中注意到,系统会自动设置交换文件:

https://meta.discourse.org/t/create-a-swapfile-for-your-linux-server/13880/60

也许这就是内存使用率一直稳定在 75-80% 的原因。我该如何检查自己是否有交换文件?

1 个赞

你可以运行 free 命令进行检查。但如果你遵循了安装指南,那么很可能你已经配置了 SWAP。

2 个赞

你几乎肯定是在我问问题之前就回复了!再次感谢。我会试试你的建议,然后向你反馈。

1 个赞

内存保持在 70% 是正常的,这是为了加速磁盘访问。请放心。如果您想了解原因,可以搜索“为什么 Linux 占用这么多内存”。

您是否调整过 Droplet 的规格?我以为每月 10 美元的套餐配备 50GB 存储空间。不过,25GB 也勉强够用,只是您需要经常执行以下命令:

./launcher cleanup
3 个赞

是的,已安装交换空间 :slight_smile:

              total        used        free      shared  buff/cache   available
Mem:        2035548     1509908       94712      159096      430928      200948
Swap:       2097148      171008     1926140
1 个赞

真巧你提到这个……我查看了“调整大小”选项卡,看到了以下选项(还有其他选项):

基础共享 CPU 1 vCPU 2 GB 25 GB 2 TB $10/月 0.015/小时
基础共享 CPU 1 vCPU 2 GB 50 GB 2 TB $10/月 $0.015/小时

多谢提醒…… :slight_smile:

1 个赞

这些方法有帮助吗?

# ./launcher cleanup
...
总计回收空间:5.823GB
...

# df
文件系统       1K-块       已用     可用  使用% 挂载点
udev             973360        0    973360   0% /dev
tmpfs            203552     1112    202440   1% /run
/dev/vda1      50633164 13236268  37380512  27% /
tmpfs           1017752        0   1017752   0% /dev/shm
tmpfs              5120        0      5120   0% /run/lock
tmpfs           1017752        0   1017752   0% /sys/fs/cgroup
/dev/vda15       106858     3934    102924   4% /boot/efi
/dev/loop0        56832    56832         0 100% /snap/core18/1988
/dev/loop1        56832    56832         0 100% /snap/core18/1997
/dev/loop2        33152    33152         0 100% /snap/snapd/11588
/dev/loop3        72192    72192         0 100% /snap/lxd/19647
/dev/loop4        69248    69248         0 100% /snap/lxd/20326
/dev/loop5        32896    32896         0 100% /snap/snapd/11841
overlay        50633164 13236268  37380512  27% /var/lib/docker/overlay2/c8513c82acabacccaf50e9ac0f082c1f742639944e8aef980fe3805850b5c1cd/merged
overlay        50633164 13236268  37380512  27% /var/lib/docker/overlay2/d7c85dc8bc2d7922a71795a329a59b44eb507df8896e5baf068384314d0ba1de/merged
tmpfs            203548        0    203548   0% /run/user/0
1 个赞

是的,该命令为您回收了 5.8GB 的磁盘空间。根据第二条命令显示,您的磁盘使用率仅为 27%。

3 个赞

太棒了。这确实说得通——我之前用了大约 20GB(25GB 的 80%),现在用了大约 14GB(50GB 的 27%)。

这个帖子真的帮了大忙。非常感谢你们两位。

1 个赞

50GB 的价格是一样的吗?:thinking:

1 个赞

根据其官网今晚的信息,25 GB 基础 droplet 每月 5 美元,配备 1 GB CPU 和 1 TB 流量,按小时计费为 0.00744 美元。50 GB droplet 每月 10 美元,配备 2 GB CPU 和 2 TB 流量,按小时计费为 0.01488 美元。

2 个赞

@JimPas 没错。也许在 2020 年 10 月情况有所不同,他们让我保留旧合同,但也允许我升级到当前的方案。

@merefield 是的,价格一样!

2 个赞

哦,这说得通……而且他们还挺贴心的。他们一定是调整了价格,给老用户升级了套餐。不错。

想到一个无面孔的跨国企业居然很友善,这确实有些滑稽。不过,是的,我想这确实是一种值得尊敬的做法!也许他们没有自动升级账户,是因为这会造成中断,或者为成千上万的客户执行此操作工作量太大。

编辑:我想起来了……你可以升级 CPU 或内存,然后再降级,但磁盘空间升级是单向的。所以我可能是从 1GB 升级到了 2GB 内存,但没有更改磁盘空间,以便在必要时能够再次降级。

1 个赞

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.