2016-09-16 8 views
1

JetBrainsから最大メモリ使用量をdotMemoryUnitで取得することはできますか?dotMemoryUnitでピークメモリ使用量を監視する

私は、メモリトラフィックを見ることができることを知っています:割り当てとコレクション。しかし、テスト中にピーク時のメモリ使用量が一定の値を超えないことを確認したい場合はどうすればよいですか?

など。私のアプリケーションが100MBを割り当てた場合、それを収集してから100MB以上を割り当て、その後にコレクションを置くと問題ありません。しかし、それが一度に200MBを割り当てる場合、私はそれをキャッチしたい。

+1

を残念ながらそれは今のところ不可能ですが、私たちは将来的にはそのような可能性を実現することを計画します。 –

+0

ありがとうございました。今私自身の 'PeakWorkingSet64'ソリューションを受け入れます。 – derwasp

答えて

1

私が解決しようとした問題は、dotMemoryUnitなしで簡単に解けるようです。

PeakWorkingSet64を使用すると、私のためのトリックをしました。

NUnitを使用してテストは次のようになります。

[Test] 
    public void Should_not_peak_more_than_200_mb() 
    { 
     var memoryCap = 200 * 1024 * 1024; 
     var sut = new SystemUnderTest(); 
     sut.DoMemoryHeavyOperation() 
     var peakWorkingSet = Process.GetCurrentProcess().PeakWorkingSet64; 
     Assert.That(peakWorkingSet, Is.LessThan(memoryCap)); 
    } 
関連する問題