2017-03-25 11 views
1

私は非常に大きなjavascriptプロジェクトで作業しています。最近、静的解析を実行するために大量のRAM(約4Gb)を使い始めています。"flow check"のデバッグ致命的なエラー:メモリ不足

私のチームは、フロー解析が困難なパッケージ/ファイルをプロジェクトに導入したと考えています(JSONデータファイルなど)。

どのファイルが流れているのがわかりにくいのですか、読み込み中のファイルのログを見ているのですか?あるいは、大容量ファイルでフローを「あきらめる」ように指示する方法はありますか?

編集:私の問題の原因は、150MBのJSONファイルでした。私はそのファイルをLewis Cの答えで見つけました。

答えて

2

流れは、それがサーバを起動した場合、それはパースれるファイルのリストを出力しますlsコマンド

flow lsを持っています。

大きなjavascriptプロジェクトでは、node_modulesを無視したいと思う可能性があります。

+0

おかげでルイス、私は今すべてのファイルのサイズを取得することができますフローは で解析されています 'flow ls | xargs du -hs |ソート-h' – seveibar

0

このコマンドを実行すると、すべてのプロジェクトでハングフローの可能性がある大きなファイル(> 1MB)をすべて見つけることができます。

#!/bin/bash 
flow ls | xargs du -hs --threshold=1M 2>/dev/null | sort -h | cut -f 2 | sed 's|'"$(pwd)"'/||g' 

説明:

flow ls

:(1メガバイトの上にいる場合)、すべてのファイルとそのサイズを取得:すべてのファイルが
xargs du -hs --threshold=1M 2>/dev/nullを解析している流れです。
sort -h:ソート結果のファイル
cut -f 2:サイズのラベル
sed 's|'"$(pwd)"'/||gを削除します。相対パスとファイルへのフルパスを交換し

注:--thresholdはOSX上でサポートされていない可能性

関連する問題