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
上記は、Ghostインスタンスがない場合のサーバー(Ramnode、256MB RAM 256MBスワップ)のメモリ使用量です。VPSで4 Ghost インスタンスを実行しています。
したがって、ここでnode index.js
コマンドを使用してGhostインスタンスを実行すると、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はインスタンスごとに単一のノードプロセスを実行します。 htop
はプロセスの基盤となるスレッドを示しているため、Ghostインスタンスが1つ実行されているが、node/v8には5つのアクティブなスレッドがあるようです。 JavaScriptはシングルスレッドですが、engine/vm自体はマルチスレッドにすることができます。
私たち(Ghostプロジェクト)は、メモリフットプリントに注意を払い、できる限り小さくして、できることは何でもできるようにします。私は個人的に80MBはかなり良いと思いますが、明らかに人や状況が異なれば「かなり良い」という基準も異なります。