I need to check how much memory is allocated in the heap. Is there a way to get this value programmatically with C#?
I know about the System.Runtime.InteropServices.Marshal.SizeOf(...) but that only tells me the size of an object.
Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.
Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.
Lost your password? Please enter your email address. You will receive a link and will create a new password via email.
Please briefly explain why you feel this question should be reported.
Please briefly explain why you feel this answer should be reported.
Please briefly explain why you feel this user should be reported.
Using a PerformanceCounter you can query the ‘# Bytes in all Heaps’, from your own process, and even other processes.
Use the Category ‘.Net CLR Memory’ to see a lot of counters available.
You have to see what the difference in system load is between the PerformanceCounter and the GC.GetTotalMemory that is proposed by Jon Skeet.