需要澄清 Docker 安装所需的内存要求

安装所需的最低硬件要求说明

最低 1 GB 内存(需配置 交换空间

关于交换空间的链接说明

:bulb: 对于内存小于或等于 2 GB 的服务器,运行 ./discourse-setup 时会提示并自动创建一个 2 GB 的交换文件。


以下是我的理解,如果错误,相信其他人也有同样的误解。

注意:我从未在生产环境中安装过 Discourse(仅进行过开发环境安装)。

如果向服务商申请一台 1 GB 内存的服务器,我认为在安装过程中系统会额外占用 2 GB 作为交换空间,因此总共需要 3 GB。而如果服务商将机器限制在 1 GB,那就会出现问题。

如果向服务商申请一台 3 GB 内存的服务器,我认为在安装过程中系统不会额外占用 2 GB 作为交换空间,因此这 3 GB 将全部用于常规内存。

如果向服务商申请一台 4 GB 内存的服务器,原本以为需要 2 GB 作为常规内存、2 GB 作为交换空间,那么将 4 GB 划分为 2 GB 常规内存和 2 GB 交换空间是否是最佳方案?

在我们的案例中,我们是 Prolog 程序员,开源为我们提供了其他选择,例如 俄勒冈州立大学开源实验室(我们也没有任何预算)。

虽然我知道许多人选择使用 Digital Ocean 配合 Docker 容器,但我们目前正在探索 OSU OSL 这一选项。

希望您能理解我的困惑所在,并帮助我理清所需内存的配置方式。

与此相关的沟通内容可在此处查看 链接,如您需要。

1 个赞

告诉他们,你至少需要 2GB 内存外加 2GB 交换空间。如果他们允许你创建交换空间,那么 2GB 内存就足够了,discourse-setup 会自动创建交换空间。如果他们愿意提供 4GB 内存,那就更好了。

2 个赞

抱歉,但这仍然让我感到困惑。

我的理解是,当创建虚拟机时,我们会设定一个固定的内存上限,比如 2 GB 或 4 GB。虽然我配置虚拟机的经历已有几十年,但我从未记得虚拟机设置过程中会询问如何配置内存的使用。

随后,在操作系统安装并运行后,可以将其配置为划分部分内存作为交换分区(swap drive)。


让我们梳理一下这个过程。

我们申请 4 GB 内存。我们并不询问其具体配置方式。通过 Web 控制台访问,我们自行创建虚拟机,在此过程中,系统会要求我们将 4 GB 内存中的 2 GB 划分为交换分区,剩余 2 GB 作为常规内存使用。


为了避免陷入无休止的选项讨论,如果上述理解正确,我们将直接申请 4 GB 并继续操作;如果不正确,我们可以根据回复进一步探讨。

我的理解对吗?如果不对,请予以纠正。

1 个赞

“交换空间”(swap)是存储驱动器上的一个文件。

我只是想指出这一点,以防存在误解。

当你配置服务器时,你会知道有多少可用内存(例如 1GB、2GB 或 4GB),同时你也会拥有磁盘存储空间,通常数值更大(例如 20GB、30GB 或 40GB)。

你的交换空间将属于磁盘存储的一部分,而内存则是独立的。:sunglasses:

4 个赞

谢谢,这解答了我的疑问。

@pfaffman 我现在明白你的回答了,感谢回复。

正如我在另一个帖子中提到的,

我知道问题出在哪里了,我一直以为交换空间是 RAM 的一部分,以文件形式映射出来,比如 RAM 盘。我想这是我通常使用 Windows 而不是 Linux 所付出的代价。

4 个赞

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