2015-09-15 30 views
6

install a Ghost Blog on a shared server via GitHubとします。インストール中にnpm install, grunt initgrunt prodを実行する必要があります。私のホストは500MBのメモリ使用量を提供しています。プロセスが600MB以上を使用すると、彼はそれを強制終了します。ノードプロセスのCPUとメモリ使用量を制限する方法

したがって、これらのプロセスには500 MB以上のメモリが必要なため、これらのプロセスのメモリ使用を制限するオプションが必要です。

私は--max-old-space-size=450でプロセスを実行しようとしましたが、うまくいかないようです。

オプションを使用してノードプロセスを実行していることに関するチュートリアルやドキュメントへのリンクを誰かから教えていただけたらうれしいです。

ありがとうございました!

UPDATE:私はこれを掲載しましたので ゴーストのインストールが完全に変更されました。

+0

ホストOSがLinuxの場合、cgroupを使用してANYプロセスのメモリ使用を制限できます。 – slebetman

+0

cgroupsが停止していないため、インストールできません。でもありがとう! – PDXIII

答えて

1

、:

node --help 

は--v8-optionsオプションを示しています。そして、入力:

node --v8-options 

することはできます:私はこのような最初のオプションを使用するために管理している

... 
--max_old_space_size (max size of the old space (in Mbytes)) 
    type: int default: 0 
--initial_old_space_size (initial old space size (in Mbytes)) 
    type: int default: 0 
... 

:ここ

node --max-old-space-size=250 `which npm` install 

我々は250MoにRAMの使用を制限するためにノードを告げたが、 " witch npm 'は現在のnpmパスを示し、' install 'は実行したいスクリプトです。

+0

おそらく私はもう必要ありませんが、好奇心から、_package.json_を持つ典型的なnpmプロジェクトがあるとしましょう。私は '' ' start''スクリプトを実行すると、アプリケーションディレクトリに移動し、 '' 'node --max-old-space-size = 250 npm start'''と入力することができます。 – PDXIII

+0

@PDXIII絶対に!私は現在、このコマンドを実行するプロジェクトでは、制限されたDockerコンテナによって許容される最大RAM使用量を超えないようにしています。 –

+0

@QuetinPétel、ありがとうございます! – PDXIII

1

これはあなたのやり方です。

ラムの使用を制限するコマンドを送信します。次のように入力してノードV8 +から

npm install --max-old-space-size=400 
+0

ありがとうございます。しかし私が私の元の記事で説明したように、私はそれを試みましたが、うまくいかないようです。しかし、とにかく私は仕事を見つけました。 – PDXIII

+0

@PDXIIIねえ。どのように問題を解決しましたか?ありがとう – tomexx

+0

@tomexx私はちょうどしませんでした。私はその周りで働いた。私がサーバー上に構築したいプロジェクトは、ローカルに構築しました。 – PDXIII