Можно ли уменьшить использование памяти NodeJS (например, платформа блогов Ghost)

CPU [                         0.0%]     Tasks: 15, 2 thr; 1 running
Mem [||||                 14/256MB]     Load average: 0.00 0.00 0.00 
Swp [|                     1/256MB]     Uptime: 15 days, 06:02:31

Выше приведено использование памяти на моем сервере (Ramnode, 256 МБ ОЗУ с 256 МБ подкачки), когда нет экземпляра Ghost. На моем VPS я запускаю 4 экземпляра Ghost.

Поэтому, когда я запустил экземпляр Ghost здесь с командой node index.jsпорождает 5 работников.

PID   USER   PRI  NI  VIRT  RES   SHR  S CPU% MEM%   TIME+  Command
10380 user    20   0  975M 80328  7712 S  0.0 30.6  0:00.00 node index.js
10381 user    20   0  975M 80328  7712 S  0.0 30.6  0:00.00 node index.js
10382 user    20   0  975M 80328  7712 S  0.0 30.6  0:00.00 node index.js
10383 user    20   0  975M 80328  7712 S  0.0 30.6  0:00.00 node index.js
10384 user    20   0  975M 80328  7712 S  0.0 30.6  0:00.00 node index.js

5 рабочих на самом деле довольно много. И 30% это тоже много.

А теперь htop чтение

CPU[                               0.0%]     Tasks: 18, 7 thr; 1 running
Mem[|||||||||||||||||||        82/256MB]     Load average: 0.00 0.00 0.00 
Swp[||                          8/256MB]     Uptime: 15 days, 06:22:29

Как уменьшить использование памяти? Если я могу отрегулировать количество работников, какой файл мне отредактировать? Если у нас есть команда разработчиков Ghost, есть ли у вас план на этот счет?

1 ответ

Решение

Ghost запускает процесс с одним узлом для каждого экземпляра. Я верю, что вы видите, что htop показывает базовые потоки процессов, поэтому похоже, что у вас запущен один экземпляр Ghost, а в узле / v8 пять активных потоков. Несмотря на то, что JavaScript является однопоточным, сам движок / vm может быть многопоточным.

Мы (проект Ghost) обращаем внимание на объем памяти, чтобы мы могли делать все, что можем, чтобы он был как можно меньше. Лично я считаю, что 80MB довольно хорошо, но, очевидно, разные люди и ситуации имеют разные критерии для того, что "довольно хорошо".

Другие вопросы по тегам