Discourse 内存占用过高问题

@CAKE_NICE

把你的问题单独开了内容来讨论吧。

我重装了rhel系统 内存也换成了4GRAM 同样和之前一样。

固定吃满到百分之80以上,这个问题到底是怎么回事呢?

就是挺奇怪的 我这台服务器



早上我将他重装为Rhel 说实话找镜像找了半天 因为很多镜像装不上去,
然后我docker安装了Discourse,安装完成注册好管理员之后,内存已经使用1.2G,我导入从原来网站备份的数据之后 内存来到1.6g,我尝试测试发帖功能的时候,内存来到了3.5G,我当时亚麻呆住了

我很不理解!!

我和我同学讨论之后,这很像Node.js的问题 因为它符合node.js的内存泄露 ,他是逐步增长的,尤其是是在发帖的时候,node.js启动了!!

我们这个是默认安装,没有怎么优化配置。

在默认情况下 Discourse 的内存消耗在 1.2GB 左右。

2 个 vCPU,附件使用云存储,不存储在本地。

你换了个机器是不是还是在同一个机房?

如果是这样的话,感觉是不是因为给的 vCPU 处理能力不够,虽然是 vCPU,但不同的 vCPU 的处理能力是不同的。

CPU 的处理能力不够也会导致内存使用升高的。

建议装一个 htop,看起来更加舒服点。

另外 Docker 的安装,你是默认安装还是对 Docker 的参数调整了?

我是根据https://www.freedidi.com/11744.html 教程来的
我没有对docker进行任何更改
CPU是没有问题的,因为他们家我是一直在用的 我现在先去跑个分

我看到了你的 CPU 用的是 AMD 的。

通常来说,我们服务器上的 CPU 只会用 Intel 的。

AMD 的服务器会比 Intel 的便宜一些。

Discourse 装了 NodeJS 吗?

我记得他们用的是 Nginx 的前端,应该是没有启用 NodeJS 服务的呀。还是 NodeJS 你自己装机器上的?

有可以选 Intel 的机器吗?


这款AMD性能挺高的 7950x 目前还是AMD家挺强的处理器 主要是我了解的服务器提供商都告诉我 AMD适合建站

我不清楚 我在根据官方安装的时候,有一次我内存不够,提示我Node.js无法运行 然后就崩掉了!

安装教程没有问题。

这个是标准安装,我们也是这么装的。

我们的服务基本上没有出现你的问题,一直保持在 1.5GB 的使用情况,并没有出现用着用着就内存占满的问题。

总感觉有点像 VPS 自身的问题。

您有试过debian系统安装吗 我用来debian和rhel发现 其实二者无差 但是这VPS我也实在找不出问题

AMD 的服务器要便宜些,但问题多,更多是在重型处理能力上会出现问题。

我们的程序 Java 跑得多,放 AMD 上出问题的频率要明显比 Intel 的高,后来公司慢慢决定全部更换成 Intel 的,稳如老狗。

目前我们公司的所有机器,不管是物理实际服务器,还是在机器上虚拟出来的 VM,都在 Intel 处理器上。

我们公司把所有 AMD 的机器从机房中剔除,或者只是简单的留给我们开发做做本地测试,随着时间流逝就慢慢从数据中心内删除了。

我们公司是有自己的数据中心的,整一栋楼。

有试过,在本地 raspberrypi 上装上了玩了一下。

因为我们公司的 Linux 都是 RHEL 的版本,所以我们比较熟悉 RHEL,Ubuntu 更多是跑着玩。

实际业务上,我们公司 Java 程序多,吃内存更加厉害,虽然也是部署在容器里面,但 RHEL + Intel 的服务器 + JDK 17 (OpenJDk)内存上面一般还没有怎么出现过比较严重的内存溢出问题。

跑 Discourse 基本上也没有担心过内存问题。

害 只能再试一试 看能不能找出问题

我重新安装 采集每一步的内存占用

image
拉取安装过程中还算安详

多试试吧。

我觉得你可以考虑:

  1. 换个 VPS 的机房试试。
  2. 换个 CPU 类型试试。

好在 Discourse 都是从 Github 上拉代码,只要服务器带宽没有问题,也就是麻烦点。

你的问题在安装成功后,马上就会出现出来,如果是运行了几个月才出问题,那才是麻烦的,数据在里面了,备份恢复都麻烦。

我不觉得是 Discourse 的程序问题,因为我们也用了 Discourse 的程序,没有发现程序上面太多的问题。

是啊
如果这次还是一样
只能购买别家的VPS了

image
安装中,剧增…
话说,discourse只支持S3储存吗 我想试一下谷歌的 我不敢使用AWS 怕欠下账单

wow boom!!!
image

Ember 是 Discourse 用的前端程序。

Ember 确实是使用 NodeJS 编译的,但编译完成后应该是直接部署到 Nginx 上的,Discourse 应该不是用 NodeJS 跑的前端。

安装完成的2s
image

安装完成的30s (期间什么都没动)
image

选择注册完 选择完语言,论坛可以使用的时候
image

发完帖子之后
image