質問編集履歴

2

発生している問題について誤字を訂正しました。

2023/09/03 15:34

投稿

ksmemleak
ksmemleak

スコア1

test CHANGED
File without changes
test CHANGED
@@ -9,8 +9,8 @@
9
9
  ・処理クラスはThreading.Timerを使ってファイル監視を行い、ファイルが存在した場合に内容を読み込んでODBCによりDB更新を行っています。
10
10
 
11
11
  ### 発生している問題・エラーメッセージ
12
- 現象としてはファイル(20KB~78KB)を処理するにともなってタスマネージャー上のワーキングセットが肥大化しており、これがサーバー実行上3日間ぐらいの稼働(原則24時間稼働)させると10GBを超えることから何とかリークを解消したいという思いです。
12
+ 現象としてはファイル(20KB~78KB)を処理するにともなってタスマネージャー上のワーキングセットが肥大化しており、これがサーバー実行上3日間ぐらいの稼働(原則24時間稼働)10GBを超えることから何とかリークを解消したいという思いです。
13
- 開発端末(Windows10)では完全無風状態が続くと、タスクマネージャー上のワーキングセットが減少しますが、どうやらWindowsサーバー上では減少しているのかいまいち把握できないのと、もっと早いタイミングで減少させたいという思いです。
13
+ 開発端末(Windows10)では完全無風状態が続くと、タスクマネージャー上のワーキングセットが減少しますが、顧客環境のWindowsサーバー上では減少しているのかいまいち把握できないのと、もっと早いタイミングで減少させたいという思いです。
14
14
 
15
15
  【質問事項】
16
16
  先輩方にお聞きしたいのが、VisualStudio2019のデバッグでメモリの状況を確認しているとプロセスメモリ(MB)が368MB以上にも係わらずスナップショットを取るとヒープサイズは1Mとなっています。

1

発生している問題について現象の補足と、記載箇所を見直しました。

2023/09/03 15:31

投稿

ksmemleak
ksmemleak

スコア1

test CHANGED
File without changes
test CHANGED
@@ -8,9 +8,11 @@
8
8
  ・Windowsサービスとして構成し、処理クラスをサービスからインスタンス化して実行しています。
9
9
  ・処理クラスはThreading.Timerを使ってファイル監視を行い、ファイルが存在した場合に内容を読み込んでODBCによりDB更新を行っています。
10
10
 
11
+ ### 発生している問題・エラーメッセージ
11
12
  現象としてはファイル(20KB~78KB)を処理するにともなってタスマネージャー上のワーキングセットが肥大化しており、これがサーバー実行上3日間ぐらいの稼働(原則24時間稼働)させると10GBを超えることから何とかリークを解消したいという思いです。
13
+ 開発端末(Windows10)では完全無風状態が続くと、タスクマネージャー上のワーキングセットが減少しますが、どうやらWindowsサーバー上では減少しているのかいまいち把握できないのと、もっと早いタイミングで減少させたいという思いです。
12
14
 
13
- ### 発生している題・エラーメッセージ
15
+ 【質事項】
14
16
  先輩方にお聞きしたいのが、VisualStudio2019のデバッグでメモリの状況を確認しているとプロセスメモリ(MB)が368MB以上にも係わらずスナップショットを取るとヒープサイズは1Mとなっています。
15
17
  このプロセスメモリの内容調査をしたい場合どのような手法があるでしょうか。
16
18
  ![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2023-09-03/4e336342-4e0d-488e-93d8-745a0f5227ee.png)
@@ -26,6 +28,7 @@
26
28
  ・内部のStringクラスの使用をやめる検討
27
29
  ・内部クラスでDisposeを実装してクラス変数のDictionaryのすべてのキーのRemoveを実行する。
28
30
  ・関数で使用している内部変数をFinallyブロックを作成して破棄 等...
31
+ ```
29
32
 
30
33
  ###追記
31
34
  WinDBGを使用してダンプの解析を行ってみた内容です。