2016-08-04 3 views
2

クライアントから新しいAngular + Nodeプロジェクトを取得しました。これをローカルに設定しました。アプリケーションは正常に動作しています。しかし、1つの問題は、私がgruntコマンドを実行してシステムがハングしたときにCPUが100%を取ってしまうことです。しかし、同じ構成のクライアントマシンでは、すべて正常に動作しているようです。gratchによってカウントされたカウントファイル

多くのスレッドを調べた結果、このような問題は、gruntがあまりにも多くのファイルを見ているときに発生することがわかりました。私はまた、私が見ているファイルを見るためにgrunt watch --verboseを使用しました。実際には、私はアングルールやjqueryのライブラリファイルのような不必要なファイルをたくさん見ているようになった。

gruntコマンドで見ているファイルの数を正確に取得する方法はありますか?

答えて

2

同じ設定/環境ですが、より多くの馬力を持つマシンでうまく動作するならば、あなたはあなたがあまりにも多くのファイルを見ていると仮定するのが正しいと思います。

まだ設定していない場合は、あまりにも多くのファイルを見ているパスをさらにサポートするために、いくつかのファイルだけを監視する設定でgrunt watchを実行する必要があります。

最後に、監視する必要のあるファイル、つまり開発中に実際に変更されるファイルを見ているだけです。サードパーティの図書館などは、そのセットに絶対含まれてはいけません!

私にはあなたが見る必要があるファイルを見るだけで、ある程度の特異性を持ってグロブパターンを見たり使う必要があるファイルを正確に指定することができます。また、否定演算子!をglobで使用できることを指摘します。

私の勧告に従った後、あなたはまだ、私はそれを見るようにあなたは3つのオプションがあり、同じ悩みを持っている場合は、次の

  1. より具体的な時計のタスクを作成し、一度に1つまたは2つだけそれらの実行。
  2. ハードウェアのアップグレード
  3. 時計はまったく使用せず、コマンドラインから手動でタスクを起動しないでください。

EDIT: それは直接尋ねた質問に取り組むため、以下のコメントからの回答に追加します。

gruntが監視するファイルをカウントするには、linux findコマンドを使用して、wc -lにパイプします。したがって、プロジェクトのルートで操作していて、srcディレクトリとそのサブディレクトリにある.js拡張子を持つファイルの数を数えたい場合は、find . -name "src/*.js" | wc -lのようになります。ここでは、あなたの基準に合ったすべてのファイルを見つけて、wcコマンドで-lを指定してstdoutの改行を数えることで、ファイル数をカウントしています。

+0

私は 'grunt watch --verbose'を実行し、見たファイル名をすべて私の端末からコピーし、notepad ++ファイルに貼り付けました。私は1152ファイルを見ています。 CPU使用率を100%にするだけで十分ですか? –

+0

あなたのCPUの力のような変数があります。それは、私が確実にそれに答えるのを妨げます。要するに、可能です。それはたくさんのファイルです。私はあなたが見ているファイルをより正確にするでしょう。また、grunt-contrib-watchの歴史の中で数多くのパフォーマンスが改善されているため、gruntとgrunt-contrib-watchの両方の最新バージョンを実行していることを確認する必要があります。 – rdgd

+0

また、あなたがファイルの大雑把な数を持っているように見えますが、gruntが見たファイルをどのように数えるかという質問に答えるには、linux findコマンドを使って 'wc -l'にパイプしてください。したがって、プロジェクトルートで操作していて、srcディレクトリとそのサブディレクトリにある.js拡張子を持つファイルの数を数えたい場合は、 'findと似ています。 -name "src/*。js" | wc -l'。ここでやっていることは、あなたの基準に合ったファイルをすべて見つけて、 '-l'で改行を数える' wc'コマンドを使ってファイル数を調べることです。 – rdgd

関連する問題