Назад | Перейти на главную страницу

Можно ли уменьшить использование памяти 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 с командой 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, у вас есть какие-нибудь планы по этому поводу?

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

Мы (проект Ghost) обращаем внимание на объем памяти, чтобы мы могли делать все, что в наших силах, сохраняя его как можно меньше. Я лично считаю, что 80 МБ - это неплохо, но, очевидно, у разных людей и ситуаций разные критерии того, что «неплохо».