Memory Leak

Eric Yao 1 Reputation point
2020-12-18T13:27:41.753+00:00

We are PXE booting with WDS. Sometimes WDS process will take all the memory.

Windows 2012 R2 Standard
wdstftp.dll version: 6.3.9600.19177

Here is the information captured by DebugDiag tool when there was memory leak. How to resolve the memory leak?

DebugDiag Analysis Report
Analysis Summary

Warning

Description Recommendation

WARNING - DebugDiag was not able to locate debug symbols for \wdssrv.dll, so the reported function name(s) may not be accurate.

\wdssrv.dll is responsible for 10.48 GBytes worth of outstanding allocations. The following are the top 2 memory consuming functions:

wdssrv!CollectPerfCounters+c7f2: 10.48 GBytes worth of outstanding allocations. If this is unexpected, please contact the vendor of this module, Microsoft Corporation, for further assistance with this issue.
WARNING - DebugDiag was not able to locate debug symbols for \wdstftp.dll, so the reported function name(s) may not be accurate.

\wdstftp.dll is responsible for 2.72 MBytes worth of outstanding allocations. The following are the top 2 memory consuming functions:

wdstftp!CollectPerfCounters+eb0d: 1.5 MBytes worth of outstanding allocations.
wdstftp!CollectPerfCounters+14d95: 905.25 KBytes worth of outstanding allocations. If this is unexpected, please contact the vendor of this module,

Detailed module report(Memory)

Module details for wdssrv

Module Name wdssrv
Allocation Count 11771488 allocation(s)
Allocation Size 10.48 GBytes

Module Information

Image Name: c:\Windows\System32\wdssrv.dll Symbol Type: Export
Base address: 0x0000000300905a4d Time Stamp: Sat Mar 8 15:29:50 2014 Checksum: 0x0000000000000000 Comments:
COM DLL: False Company Name: Microsoft Corporation
ISAPIExtension: False File Description: Windows Deployment Services Server
ISAPIFilter: False File Version: 6.3.9600.17042 (winblue_gdr.140307-1710)
Managed DLL: False Internal Name: wdssrv.dll
VB DLL: False Legal Copyright: © Microsoft Corporation. All rights reserved.
Loaded Image Name: wdssrv.dll Legal Trademarks:
Mapped Image Name: Original filename: wdssrv.dll
Module name: wdssrv Private Build:
Single Threaded: False Product Name: Microsoft® Windows® Operating System
Module Size: 216 KBytes Product Version: 6.3.9600.17042
Symbol File Name: wdssrv.dll Special Build: &

Top 1 functions by allocation count

wdssrv!CollectPerfCounters+c7f2

11,771,488 allocation(s)

Top 1 functions by allocation size

wdssrv!CollectPerfCounters+c7f2

10.48 GBytes

Function details

Function wdssrv!CollectPerfCounters+c7f2
Source Line
Allocation type Heap allocation(s)
Heap handle 0x00000000`00000000
Allocation Count 11771488 allocation(s)
Allocation Size 10.48 GBytes
Leak Probability 95%

Call stack sample 1

Address 0x00000000`00000000
Allocation Time 00:00:05 since tracking started
Allocation Size 1.27 KBytes

Function

Source

Destination

LeakTrack+1f109
wdssrv!CollectPerfCounters+c7f2
wdssrv!CollectPerfCounters+57e7
wdssrv!CollectPerfCounters+49d4
wdssrv!CollectPerfCounters+4513
wdssrv!WdsSendPacketList+87
wdstftp!WdsProviderInitialize+1476
wdstftp!WdsProviderInitialize+1787
wdstftp!WdsProviderInitialize+187a
wdstftp!WdsProviderInitialize+1f6b
wdstftp+1265d
wdssrv!ServiceMain+1548
wdssrv!CollectPerfCounters+617
wdssrv!CollectPerfCounters+45e8
wdssrv!CollectPerfCounters+5785
wdssrv!CollectPerfCounters+5daa
wdssrv!CollectPerfCounters+97f7
kernel32!BaseThreadInitThunk+22
ntdll!RtlUserThreadStart+34

Call stack sample 2

Address 0x00007ffd`cb946d60
Allocation Time 00:00:05 since tracking started
Allocation Size 72 Bytes

Function

Source

Destination

LeakTrack+1f109
wdssrv!CollectPerfCounters+c7f2
wdstftp!CollectPerfCounters+2103
wdstftp!CollectPerfCounters+34dd2
wdstftp+153b2
wdstftp!CollectPerfCounters+33e8
wdstftp!WdsProviderInitialize+139f
wdstftp!WdsProviderInitialize+1787
wdstftp!WdsProviderInitialize+187a
wdstftp!WdsProviderInitialize+1f6b
wdstftp+1265d
wdssrv!ServiceMain+1548
wdssrv!CollectPerfCounters+617
wdssrv!CollectPerfCounters+45e8
wdssrv!CollectPerfCounters+5785
wdssrv!CollectPerfCounters+5daa
wdssrv!CollectPerfCounters+97f7
kernel32!BaseThreadInitThunk+22
ntdll!RtlUserThreadStart+34

Call stack sample 3

Address 0x00007ffd`cb946d60
Allocation Time 00:00:05 since tracking started
Allocation Size 72 Bytes

Function

Source

Destination

LeakTrack+1f109
wdssrv!CollectPerfCounters+c7f2
wdstftp!CollectPerfCounters+2103
wdstftp!CollectPerfCounters+34dd2
wdstftp+153b2
wdstftp!CollectPerfCounters+33e8
wdstftp!WdsProviderInitialize+139f
wdstftp!WdsProviderInitialize+1787
wdstftp!WdsProviderInitialize+187a
wdstftp!WdsProviderInitialize+1f6b
wdstftp+1265d
wdssrv!ServiceMain+1548
wdssrv!CollectPerfCounters+617
wdssrv!CollectPerfCounters+45e8
wdssrv!CollectPerfCounters+5785
wdssrv!CollectPerfCounters+5daa
wdssrv!CollectPerfCounters+97f7
kernel32!BaseThreadInitThunk+22
ntdll!RtlUserThreadStart+34

Call stack sample 4

Address 0x00000000`00000000
Allocation Time 00:00:05 since tracking started
Allocation Size 1.27 KBytes

Function

Source

Destination

LeakTrack+1f109
wdssrv!CollectPerfCounters+c7f2
wdssrv!CollectPerfCounters+57e7
wdssrv!CollectPerfCounters+487e
wdssrv!CollectPerfCounters+4491
wdssrv!WdsSendPacket+ce
wdstftp!WdsProviderInitialize+203b
wdstftp!WdsProviderInitialize+1107
wdstftp!WdsProviderInitialize+186d
wdstftp!WdsProviderInitialize+259f
wdstftp!WdsProviderInitialize+28e3
ntdll!LdrFindEntryForAddress+ce
ntdll!LdrInitializeThunk+29e
ntdll!RtlFreeUnicodeString+17ed
kernel32!BaseThreadInitThunk+22
ntdll!RtlUserThreadStart+34

Windows Server Setup
Windows Server Setup
Windows Server: A family of Microsoft server operating systems that support enterprise-level management, data storage, applications, and communications.Setup: The procedures involved in preparing a software program or application to operate within a computer or mobile device.
255 questions
0 comments No comments
{count} votes

1 answer

Sort by: Most helpful
  1. Molly Lu 846 Reputation points Microsoft Vendor
    2020-12-21T07:11:39.447+00:00

    Hi,

    Welcome to Microsoft Q&A.

    Try use RAMMAP to analyze this issue:
    https://techcommunity.microsoft.com/t5/ask-the-performance-team/introduction-to-the-new-sysinternals-tool-rammap/ba-p/374717

    Also, try uninstall the 3rd party anti-virus software to check if we can fix this issue, because sometimes it will ask for too much memory space.

    Best regards,
    Molly

    --------------------------------------------------------------------------------

    If the Answer is helpful, please click "Accept Answer" and upvote it.
    Note: Please follow the steps in our documentation to enable e-mail notifications if you want to receive the related email notification for this thread.

    0 comments No comments

Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.