6

以前は、次の方法で本番ノードアプリを起動しました。

NODE_ENV=production forever start index.js

ただし、この質問の提案に従って、ノードを--nouse-idle-notificationで開始したいと思います。--max-old-space-sizeの設定などに関するこの記事も見つけました。残念ながら、フラグが実際にノードによって受け入れられているかどうかを確認する方法を尋ねる人は誰もいないようです。そのため、方法がわかりません。私の永遠の構文が正しければ。

さらに、私は永遠に両方の議論を受け入れることはできません...

たとえば、これを使用する場合

NODE_ENV=production forever start --max-old-space-size=8192 --nouse-idle-notification index.js

.jsファイルを渡さずに(たとえば、「forever」と入力するだけで)永久に起動しようとしたかのように、「foreverusageinformation」を取得します。「start」コマンドの前にフラグを置くと、起動しているように見えますが、フラグが受け入れられたかどうかを確認する方法がわかりません...

誰かが正しい構文で私を助けてくれますか?

4

3 に答える 3

15

-c パラメータを渡す必要があります。

forever start -c "node --max-old-space-size=8192 --nouse-idle-notification" index.js

プロセスをリストすると、フラグが尊重されていることがわかります。

forever list
于 2014-01-15T17:43:35.933 に答える
1

他の理由で本当に永遠に愛していない限り、monを試してください。

正確なコマンドを指定できるため、フラグを渡すのは非常に簡単です。

mon "node --max-old-space-size=8192 --nouse-idle-notification --expose-gc server.js" -d

ノードプロセスのみを監視します。永遠のようにプロセスのグループを監視したい場合は、mongroupをインストールします。これは、 を管理する bash スクリプトですmon

これにより、特に多くのノードプロセスを監視している場合にRAMを節約できます(監視するプロセスごとに1つの追加ノードプロセスを永遠に起動すると思います)。

簡単なヒント: 前回確認したとき、TJ Holowaychuk のブランチはmonLinux ではうまく動作しませんでした (彼は Mac でしかテストしていなかったと思います)編集:実際には2日前に問題が解決され、メインブランチが機能するようになりました。

于 2012-11-12T16:48:36.533 に答える
-1

あなたは試すことができます:

forever start --max-old-space-size=8192 --nouse-idle-notification -c "NODE_ENV=production node" index.js 
于 2012-10-15T18:07:20.507 に答える