Discourse 交换内存(1GB 警告)

Hi,

I attempted to install Discourse on a digital ocean droplet with 1gb of RAM, the installer stated I should ideally be using 2gb of RAM, it mentionned swap files and that I could potentially run into problems with future upgrades.

Therefore is it safe to start with 1GB and if required upgrade the RAM later - would Discourse automatically use the additional RAM or would one need to amend the configuration in some way to allow for more RAM in future - and if so how?

You can run on the 1GB of ram to start with however I believe you would need a 2GB swap file to go with it in order to allow it to peak when doing resource intensive stuff such as upgrades etc.

If you have the 1GB Ram + 2GB Swap it should keep you going for a while thats for sure.

There are many posts on the forum about it so worth having a search through

If you let it, ./discourse-setup will create the swap file for you and configure the OS to try very hard never to use it.

Perhaps I should add the bolded words the message below?

在 2017 年,安装程序会在内存不足时自动创建交换空间。

即使手动添加交换空间,安装似乎也无法继续。

我刚刚使用默认的云端安装说明,在一台新的 1GB Digital Ocean Droplet 上测试了安装,一切正常:

root@delete-me-install-test:~# sudo -s
root@delete-me-install-test:~# git clone https://github.com/discourse/discourse_docker.git /var/discourse

Cloning into '/var/discourse'...
remote: Enumerating objects: 41, done.
remote: Counting objects: 100% (41/41), done.
remote: Compressing objects: 100% (28/28), done.
remote: Total 4455 (delta 15), reused 23 (delta 12), pack-reused 4414
Receiving objects: 100% (4455/4455), 968.00 KiB | 10.75 MiB/s, done.
Resolving deltas: 100% (2833/2833), done.

root@delete-me-install-test:~# cd /var/discourse
root@delete-me-install-test:/var/discourse# ./discourse-setup

WARNING: Discourse requires at least 2GB of swap when running with 2GB of RAM
or less. This system does not appear to have sufficient swap space.

Without sufficient swap space, your site may not work properly, and future
upgrades of Discourse may not complete successfully.

Ctrl+C to exit or wait 5 seconds to have a 2GB swapfile created.
2097152+0 records in
2097152+0 records out
2147483648 bytes (2.1 GB, 2.0 GiB) copied, 6.28174 s, 342 MB/s
Setting up swapspace version 1, size = 2 GiB (2147479552 bytes)
no label, UUID=2233bd64-65cf-4468-9548-ab7897657855
/swapfile       swap    swap    auto      0       0
vm.swappiness = 10
Ports 80 and 443 are free for use
'samples/standalone.yml' -> 'containers/app.yml'
Found 1GB of memory and 1 physical CPU cores
setting db_shared_buffers = 128MB
setting UNICORN_WORKERS = 2
containers/app.yml memory parameters updated.

Hostname for your Discourse? [discourse.example.com]: 

以下是该站点在 IP 地址上成功运行的截图:

所以,我不确定你在说什么。

是的,非常奇怪。我重试后,它按您展示的方式正常工作了。

我正在 Ubuntu 18.04 上使用 Amazon AWS。由于遇到的那个 bug,我不得不升级我的实例以获得 2GB 内存,以便能够继续进行设置。

我遇到了类似的情况。我在 DigitalOcean 上创建了一个运行 Discourse 的 2GB Droplet。启动 Droplet 时,我收到了以下警告:

警告:当使用 2GB 或更少内存运行时,Discourse 需要至少 2GB 的交换空间。此系统似乎没有足够的交换空间。

但是,DigitalOcean 的文档建议不要为使用 SSD 的 Droplet 创建交换空间。而我的 Droplet 使用的是 SSD(我想所有 Droplet 都是如此)。

因此,我对应该怎么做感到困惑。您有什么建议吗?

如果您按照我们的 Discourse 官方标准安装指南 进行安装,系统将自动为您配置交换空间(swap),您无需手动处理。