Aggiornamento Discourse - Node.js automaticamente aumentato a 2G su una macchina da 1G

Sto eseguendo la configurazione minima supportata: 1G di RAM e 2G di swap. Mi sembra che qualcosa nello script di rebuild dica a node.js di usare più RAM di quella che ho, il che sembra sopprimere la garbage collection e causare un sacco di swapping. È normale?

Ho notato questo nel log della console:

I, [2024-06-14T15:19:15.613029 #1]  INFO -- : cd /var/www/discourse & su discourse -c 'bundle exec rake assets:precompile:build'
Node.js heap_size_limit (504.75) is less than 2048MB. Setting --max-old-space-size=2048 and CHEAP_SOURCE_MAPS=1
...[ConfigLoader]
...[Babel: @embroider/macros > applyPatches]

Stack Exchange suggerisce che questo non sia un bene:

La dimensione massima dello spazio vecchio configurata aveva un limite superiore rispetto alla quantità totale di RAM che la macchina aveva.

In sintesi, su una macchina con 2GB di memoria imposterei probabilmente --max-old-space-size a circa 1.5GB per lasciare un po’ di memoria per altri usi ed evitare lo swapping.

Intorno a questo momento vedo un’enorme quantità di attività di swap

# df -h / ; free ; uptime ; ps auxrc ; vmstat 5 5
Filesystem      Size  Used Avail Use% Mounted on
/dev/vda1        25G   20G  4.7G  81% /

              total        used        free      shared  buff/cache   available
Mem:        1009140      860952       81820        1104       66368       43068
Swap:       2097144      707016     1390128

 15:21:53 up 155 days, 23:02,  2 users,  load average: 1.69, 1.85, 1.36

USER       PID %CPU %MEM      VSZ    RSS TTY      STAT START   TIME COMMAND
message+   920  0.0  0.1    50192   1872 ?        Rs   Jan10   5:57 dbus-daemon
root     16979  0.0  0.0        0      0 ?        R    14:14   0:02 kworker/u2:2
1000     24317 84.1 71.4 43775512 720984 ?        Rl   15:19   2:07 ember
root     24346  0.0  0.3    40100   3468 pts/0    R+   15:21   0:00 ps

procs -----------memory----------   ---swap-- -----io----  -system-- ------cpu-----
 r  b   swpd   free   buff  cache    si    so    bi    bo   in    cs us sy id wa st
 2  1 710656  79768   7712  60940   350   283   586   352    1     2  3  2 90  4  0
 1  5 798060  65440   3848  52544 21749 19198 23815 19247 3896 16477 30 17  0 52  1
 0  1 885676  73820   1256  37388 19674 18806 20887 18811 3851 16681 21 20  0 55  3
 1  0 704056 103080  11512  70892  8414  3910 17269  3914 1855  7618 64 11  0 25  1
 1  0 693816  95020  11520  70908  1589     0  1589    54  470  1032 95  1  0  4  0

(Questo avviene durante un rebuild e un aggiornamento da riga di comando da circa 3.2.0.beta5-dev(bcb31f79ce) a (Ultimo) 3.3.0.beta3-dev(49fdccbb1d). Il rebuild è stato completato con successo in circa 30 minuti.)