Skip to content

Commit 13c9c92

Browse files
committed
Update troubleshoot-application-service-memory-leaks.md
1 parent 84c9655 commit 13c9c92

1 file changed

Lines changed: 7 additions & 9 deletions

File tree

support/windows-server/performance/troubleshoot-application-service-memory-leaks.md

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,6 @@ Apart from this event, you also notice high memory consumption by checking live
2222

2323
The following troubleshooting process is helpful for both scenarios where first-party and third-party processes might be leaking memory. For first-party processes, you can use the public symbol store available. However, if you can't see the actual function in a third-party process, you can engage the vendor for further checking. Even if the function doesn't show, the allocation stack should indicate a third-party module.
2424

25-
A few SysInternals tools and Windows Performance Toolkit are used.
26-
2725
## Before you begin
2826

2927
You might see the following examples in the system event log and Task Manager.
@@ -64,7 +62,7 @@ During this stage, if the memory usage is growing over time and not releasing, w
6462

6563
At this point, with a leak pattern, you need to determine the leaking memory type. Open VMMap and select the process that has been identified as the leaking memory.
6664

67-
### Determining the memory type
65+
### Determin the memory type
6866

6967
When virtual allocation memory is leaked, it's represented in VMMap as **Private Data**:
7068

@@ -154,9 +152,9 @@ Heap tracing was successfully enabled for process **VirtMemTest64.exe**.
154152

155153
The result is:
156154

157-
Registry key: `Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\Image File Execution Options\VirtMemTest32.exe`
158-
Value name: `Tracing Flags`
159-
Value type: `REG_DWORD`
155+
Registry key: `Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\Image File Execution Options\VirtMemTest32.exe`
156+
Value name: `Tracing Flags`
157+
Value type: `REG_DWORD`
160158
Value data: `0x00000001 (1)`
161159

162160
You can delete the registry key after the troubleshooting or set the value to `0`.
@@ -193,9 +191,9 @@ Replicate the following view by replacing the process with the one you've identi
193191

194192
Replicate the following view by replacing the process with the one you've already identified as relevant. Ensure that the **Handle** and **Stack** columns are on the left of the gold/yellow line. Drill down by expanding the stack, and you'll see the function that shows the allocation of heap memory. The driver listed before (up) the function is the one calling to that operation.
195193

194+
> [!NOTE]
195+
> If you don't see the heap allocation graph, it's because the registry key isn't set correctly. Review the steps.
196+
196197
:::image type="content" source="./media/troubleshoot-application-service-memory-leaks/trace-data-heap-allocation.png" alt-text="Screenshot of the analysis of the trace data for heap allocation memory." lightbox="./media/troubleshoot-application-service-memory-leaks/trace-data-heap-allocation.png":::
197198

198199
:::image type="content" source="./media/troubleshoot-application-service-memory-leaks/heap-allocation-function-driver.png" alt-text="Screenshot of the analysis of the trace data for heap allocation memory with the drive listed." lightbox="./media/troubleshoot-application-service-memory-leaks/heap-allocation-function-driver.png":::
199-
200-
> [!NOTE]
201-
> If you don't see the heap allocation graph, it's because the registry key isn't set correctly. Review the steps.

0 commit comments

Comments
 (0)