2012-02-20 18 views
4

私のプログラムはCLIネットワーククライアント(私の最初のネットワーキングプロジェクト)で、今まで私が持っていたすべての問題を解決することができました。デコードして100%のデータを正しく書き込みます。Node.jsメモリリーク

ただし、1〜2時間実行した後(変化しています)、ノードのメモリが不足しているためクラッシュします。 V8のヒープの外側に割り当てられているため、ノードバッファの使用がリークの原因であると思われますが、私の知る限り、GCを制御する方法はありません。私はかなりコードを解析するのにBuffersを使います。それはNode Socketの 'data'イベントが出すものです。

現在のところ、リークを引き起こす可能性のあるものは実際には何も起こっていません。また、メモリ使用量は最初の30分ほどの間は10M以下のままで、急速に上昇するようです。

私の質問は、バッファを含むリークを解決する方法はありますか?私が知っておくべきバッファーには何らかの欠点がありますか?明白な行動コースはありますか?

+2

使用しているノードのバージョンが0.6.11でない場合は、 – Raynos

+8

をアップグレードして、実際にメモリリークをプロファイリングしていないのですか?あなただけが推測している?実際のメモリリークを検索するためにノードインスペクタを使用してください! –

答えて

-1

Mochaを使用してコードを単体テストできます。メモリリークが検出されると、テストは失敗します。

+0

私はこれが本当であるとは思わない。私はモカがメモリリークを検出したとは思わない! – Alfred

+0

ユニットテストはメモリリークのためのものではありません!最小限の機能単位をテストします。 – aggsol

関連する問題