Quantcast
Channel: Windows カテゴリ - すべてのスレッド
Viewing all articles
Browse latest Browse all 98198

WMIでノード情報を取得するとメモリリークが発生する  Retrieving node information in WMI causes memory leaks

$
0
0

【問い合わせ概要】
WMIでノード情報を取得するとメモリリークが発生する

【環境】
・実行環境
  Microsoft Windows Server 2016 Datacenter
  10.0.14393 N/A ビルド 14393
  Multiprocessor Free

・アプリケーションビルド環境
  Microsoft Windows Server 2012 R2 Standard
 Microsoft Visual Studio Professional 2015 Version 14.0.25420.01 Update 3
 Visual C++ 2015   00322-50052-73614-AA667

【問い合わせ内容】
VC++ で作成したモジュールがWMIでノード情報を取得するデーモンがあります。
このモジュールでメモリリークが起きています。

下記のサイトを参考にVirtualSizeとWorkingSetSizeの値を繰り返し取得するテストプログラム
を作成したところテストプログラムでもメモリリークが確認できました。
https://docs.microsoft.com/en-us/windows/win32/wmisdk/example-creating-a-wmi-application

以下、20000回試行した結果となります。
VirtualSizeが7340032byte、7028736byte増加しております。
-----
0 wmitest.exe VirtualSize:57511936 WorkingSetSize:6836224
1 wmitest.exe VirtualSize:57511936 WorkingSetSize:7028736
2 wmitest.exe VirtualSize:57511936 WorkingSetSize:7036928
3 wmitest.exe VirtualSize:57511936 WorkingSetSize:7041024

1023 wmitest.exe VirtualSize:57511936 WorkingSetSize:7770112
1024 wmitest.exe VirtualSize:58560512 WorkingSetSize:7831552
1025 wmitest.exe VirtualSize:58560512 WorkingSetSize:7847936
 :
9243 wmitest.exe VirtualSize:60657664 WorkingSetSize:10375168
9244 wmitest.exe VirtualSize:64851968 WorkingSetSize:10653696
9245 wmitest.exe VirtualSize:64851968 WorkingSetSize:10665984


19997 wmitest.exe VirtualSize:64851968 WorkingSetSize:13864960
19998 wmitest.exe VirtualSize:64851968 WorkingSetSize:13864960
19999 wmitest.exe VirtualSize:64851968 WorkingSetSize:13864960
-----

【質問事項】
(1) 上記の回避策、不具合情報、HotFix などの情報はありますか。

(2) 原因を特定するために、可能なことはありますか。

~~~~~~~~~~~~~~~~~~Hi,

Inquiry Summary
Retrieving node information in WMI causes memory leaks


[Environment]
Execution Environment
  Microsoft Windows Server 2016 Datacenter
  10.0.14393 N/A build 14393
  Multiprocessor Free

Application Build Environment
  Microsoft Windows Server 2012 R2 Standard
 Microsoft Visual Studio Professional 2015 Version 14.0.25420.01 Update 3
 Visual C++ 2015 00322-50052-73614-AA667

Inquiries.
A module created in VC++ has a daemon that gets the node information in WMI.
This module is experiencing a memory leak.

I created a test program to get the values of VirtualSize and WorkingSetSize repeatedly with reference to the following site
The test program also showed a memory leak when I created
https://docs.microsoft.com/en-us/windows/win32/wmisdk/example-creating-a-wmi-application

Below are the results of 20,000 attempts.
VirtualSize is 7340032 bytes, 702,728,736 bytes increase.
----- ...
0 wmitest.exe VirtualSize:57511936 WorkingSetSize:6836224
1 wmitest.exe VirtualSize:57511936 WorkingSetSize:7028736
2 wmitest.exe VirtualSize:57511936 WorkingSetSize:7036928
3 wmitest.exe VirtualSize:57511936 WorkingSetSize:7041024
4 wmitest.exe VirtualSize:57511936 WorkingSetSize:7041024
5 wmitest.exe VirtualSize:57511936 WorkingSetSize:7041024
6 wmitest.exe VirtualSize:57511936 WorkingSetSize:7045120
7 wmitest.exe VirtualSize:57511936 WorkingSetSize:7045120
8 wmitest.exe VirtualSize:57511936 WorkingSetSize:7045120
9 wmitest.exe VirtualSize:57511936 WorkingSetSize:7045120

1022 wmitest.exe VirtualSize:57511936 WorkingSetSize:7770112
1023 wmitest.exe VirtualSize:57511936 WorkingSetSize:7770112
1024 wmitest.exe VirtualSize:58560512 WorkingSetSize:7831552
1025 wmitest.exe VirtualSize:58560512 WorkingSetSize:7847936
 :
 :
2798 wmitest.exe VirtualSize:58560512 WorkingSetSize:8470528
2799 wmitest.exe VirtualSize:58560512 WorkingSetSize:8536064
2800 wmitest.exe VirtualSize:60657664 WorkingSetSize:8650752
2801 wmitest.exe VirtualSize:60657664 WorkingSetSize:8654848
 :
 :
9242 wmitest.exe VirtualSize:60657664 WorkingSetSize:10366976
9243 wmitest.exe VirtualSize:60657664 WorkingSetSize:10375168
9244 wmitest.exe VirtualSize:64851968 WorkingSetSize:10653696
9245 wmitest.exe VirtualSize:64851968 WorkingSetSize:10665984
 :
 :
19997 wmitest.exe VirtualSize:64851968 WorkingSetSize:13864960
19998 wmitest.exe VirtualSize:64851968 WorkingSetSize:13864960
19999 wmitest.exe VirtualSize:64851968 WorkingSetSize:13864960
-----

[Questions]
(1) Are there workarounds, bug information, HotFix, etc. for the above?

(2) Is there anything I can do to help determine the cause of the problem?



(2) Is there anything I can do to determine the cause of the problem?



Viewing all articles
Browse latest Browse all 98198

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>