C# Tutorials - Herong's Tutorial Examples - v3.32, by Herong Yang
Using "Process" Class to Show Memory Usages
This section provides a tutorial example on how to retrieve memory usage statistics of your application using methods and properties of the System.Diagnostics.Process class.
If you want to know memory usage statistics of your C# application, you can use these methods and properties from System.Diagnostics.Process class provided in .NET 4:
Here is my tutorial example on using these memory related methods and properties:
// MemoryUsage.cs // Copyright (c) 2010 HerongYang.com. All Rights Reserved. using System; public class MemoryUsage { public static void Main() { System.Diagnostics.Process proc = System.Diagnostics.Process.GetCurrentProcess(); Console.WriteLine("Current process: {0}", proc.ToString()); Console.WriteLine("Private Memory: {0}", proc.PrivateMemorySize64); Console.WriteLine("Virtual Memory: {0}", proc.VirtualMemorySize64); Console.WriteLine("Working Set: {0}", proc.WorkingSet64); Console.WriteLine("Paged Memory: {0}", proc.PagedMemorySize64); Console.WriteLine("Paged System Memory: {0}", proc.PagedSystemMemorySize64); Console.WriteLine("Non-paged System Memory: {0}", proc.NonpagedSystemMemorySize64); } }
I compiled it with .NET 4 C# compiler and got this output:
C:\herong>\Windows\Microsoft.NET\Framework\v4.0.30319\csc MemoryUsage.cs C:\herong>MemoryUsage.exe Current process: System.Diagnostics.Process (MemoryUsage) Private Memory: 8744960 Virtual Memory: 89157632 Working Set: 5599232 Paged Memory: 8744960 Paged System Memory: 100228 Non-paged System Memory: 3988
See next section for explanations of those memory numbers.
Table of Contents
Logical Expressions and Conditional Statements
Visual C# 2010 Express Edition
C# Compiler and Intermediate Language
Compiling C# Source Code Files
MSBuild - Microsoft Build Engine
►Using "Process" Class to Show Memory Usages
Private/Virtual Memory and Working Set
Footprints of Private and Shared Memories
Memory Report from Windows Task Manager
Memory Report from Performance Console
System.Diagnostics.FileVersionInfo Class
WPF - Windows Presentation Foundation