[解決済み] FATAL ERROR: CALL_AND_RETRY_LAST 割り当てに失敗しました - プロセスのメモリが不足しています。
質問
ノードのバージョンは
v0.11.13
クラッシュ時のメモリ使用量
sudo top
を超えることはありません。
3%
このエラーを再現するコードです。
var request = require('request')
var nodedump = require('nodedump')
request.get("http://pubapi.cryptsy.com/api.php?method=marketdatav2",function(err,res)
{
var data
console.log( "Data received." );
data = JSON.parse(res.body)
console.log( "Data parsed." );
data = nodedump.dump(data)
console.log( "Data dumped." );
console.log( data )
})
再帰のスタックサイズの問題かどうかを確認するために、次のコードを --stack-size=60000 パラメータ付きで実行しました。
var depth = 0;
(function recurse() {
// log at every 500 calls
(++depth % 500) || console.log(depth);
recurse();
})();
となっています。
264500
Segmentation fault
それからコードを実行すると、FATAL ERRORが表示されました。CALL_AND_RETRY_LAST 割り当てに失敗しました - 同じ --stack-size=60000 パラメータでメモリ不足のプロセスを実行しても、次のようになりません。
Segmentation fault
.
というわけで、結論は
CALL_AND_RETRY_LAST
は、再帰のスタックサイズと共通点がない。
どうすればこの問題を解決できるのでしょうか?私のコンピュータには、このタスクを成功させるのに十分な空きメモリがあると思います。
stackoverflowにも似たような質問がありますが、この質問はどれも
CALL_AND_RETRY_LAST
というわけで、別の質問を作りました。
どのように解決するのですか?
ソースをご覧いただくと github/v8 私の経験では、巨大なJSONオブジェクトをパースしようとするとそうなりますが、JSONとnode0.11.13であなたの出力をパースしようとすると、それはちょうどうまくいきます。
を増やす必要はありません。
--stack-size
メモリはもっと必要です。
--max_new_space_size
および/または
--max_old_space_size
.
唯一のヒントは、別のJSONパーサーを試すか、入力形式をJSONのみではなくJSONラインに変更してみることです。
関連
-
[解決済み】Heroku + node.jsのエラー(Webプロセスが起動後60秒以内に$PORTにバインドできなかった)。
-
[解決済み】 console.logの出力をどこに永久保存するか?
-
[解決済み】ENOENT, そのようなファイルまたはディレクトリがありません。
-
[解決済み】Nodejsの解決方法:Error: ENOENT: そのようなファイルまたはディレクトリがありません
-
[解決済み】モジュール '@babel/core' が見つかりません。
-
[解決済み] のエラーが発生しました。これはおそらくnpmの問題ではありません。上に追加のログ出力があると思われます
-
[解決済み] npm install エラー - ローカルの発行者証明書を取得できません。
-
[解決済み] Mongoose Schema がモデルとして登録されていません。
-
[解決済み] Gruntウォッチエラー - Waiting...Fatal error: watch ENOSPC
-
[解決済み】Node.jsのヒープがメモリ不足になる。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Node Version Manager のインストール - nvm コマンドが見つかりません。
-
[解決済み】エラーです。EACCES: 権限が拒否されました、アクセス '/usr/local/lib/node_modules' 。
-
[解決済み】AWS Lambdaでnodejsの「ref」モジュールを使用すると「invalid ELF header」と表示される件
-
[解決済み】nodemon - app crashed - waiting for file changes before start
-
[解決済み】Passport.js - エラー: ユーザーのセッションへのシリアライズに失敗しました。
-
[解決済み] Passport JSのreq.isAuthenticated()はどのように実装されていますか?[クローズド]
-
[解決済み] ブラウザで動作しているURLで「connect ETIMEDOUT」エラーが発生する原因は何ですか?
-
[解決済み] nodejsでfindAllのソート順を続編にする
-
[解決済み] エラーです。Cannot find module 'ejs'
-
[解決済み] Mongoose Schema がモデルとして登録されていません。