私はWindowsサービスを書くのが初めてです。私はTwilioを通じた発信コールを作成することにしました。私はIDisposableを実装するリソースを使用するときにusingステートメントを利用しています。私はこれまでの4時間の合計のためのサービスを実行し、ここに私のメモリ使用量を見ている:メモリリークが心配すべきでしょうか?
スタート:9K
15分:10K
30分:13K
1 HR:13K
2時間:13K
3時間:13K
30分後には一貫しているようです(13,100から13,200間)が、最初の30分後にまだリソースが割り当てられている理由がわかりません。 OnStart()メソッドは、4つのタイマーといくつかの小さなオブジェクトを開始します。私のオブジェクトの構築には30分かかりません。タイマーは特定の時間だけ待ってからクエリを実行し、結果をTwilioにキューイングして次のイベントを待つだけです。
この時点でメモリリークが心配すべきでしょうか?このようなアプリケーションではこれは正常ですか?
あなたのメモリ使用量が少ないため、ガベージコレクタがおそらく蹴られていない可能性があるので、これはかなり不可能です。サービスを数日間実行してみてください。 – zmbq
それは私が考えていたものですが、確かめるのは難しいです。ご協力いただきありがとうございます!テストサーバーにインストールされ、週末に実行されます。私は月曜日に更新を提供します。 – Kevin
私は@ zmbqに同意します。数日間それを見て、何が起こるかを見てください。メモリ使用量は、コードが何をしているか、ガベージコレクタによって変動しますが、平均値の範囲内に収まる必要があります。 – user1231231412