Ich verwende die kleinste unterstützte Konfiguration: 1 GB RAM und 2 GB Swap. Es scheint mir, dass etwas im Rebuild-Skript Node.js anweist, mehr RAM zu verwenden, als ich habe, was offenbar die Garbage Collection unterdrückt und zu viel Swapping verursacht. Ist das so gewollt?
Das ist mir im Konsolenprotokoll aufgefallen:
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 legt nahe, dass dies nicht gut ist:
Die konfigurierte max-old-space-size hatte ein höheres Limit als die Gesamtmenge an RAM, die die Maschine hatte.
…
Zusammenfassend lässt sich sagen, dass ich auf einer Maschine mit 2 GB Speicher wahrscheinlich --max-old-space-size auf etwa 1,5 GB einstellen würde, um etwas Speicher für andere Zwecke zu lassen und Swapping zu vermeiden.
Etwa zu dieser Zeit sehe ich eine enorme Swap-Aktivität:
# 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-----\n r b swpd free buff cache si so bi bo in cs us sy id wa st\n 2 1 710656 79768 7712 60940 350 283 586 352 1 2 3 2 90 4 0\n 1 5 798060 65440 3848 52544 21749 19198 23815 19247 3896 16477 30 17 0 52 1\n 0 1 885676 73820 1256 37388 19674 18806 20887 18811 3851 16681 21 20 0 55 3\n 1 0 704056 103080 11512 70892 8414 3910 17269 3914 1855 7618 64 11 0 25 1\n 1 0 693816 95020 11520 70908 1589 0 1589 54 470 1032 95 1 0 4 0\n```
(Dies geschieht während eines Kommandozeilen-Rebuilds und Updates von ca. 3.2.0.beta5-dev(bcb31f79ce) auf (Latest) 3.3.0.beta3-dev(49fdccbb1d). Der Rebuild wurde in etwa 30 Minuten erfolgreich abgeschlossen.)