c# - .NET में प्रोग्रामेटिक रूप से वर्तमान प्रक्रिया की कुल मेमोरी खपत को कैसे मापें?




performance memory (3)

इस SO सवाल का संदर्भ लें

आगे यह कोशिश करें

Process currentProcess = System.Diagnostics.Process.GetCurrentProcess();
long totalBytesOfMemoryUsed = currentProcess.WorkingSet64;

.NET में प्रोग्रामेटिक रूप से वर्तमान प्रक्रिया की कुल मेमोरी खपत को कैसे मापें?



यदि आप केवल कुछ अलग-अलग परिचालनों के कारण वर्चुअल मेमोरी उपयोग कहते हैं, तो आप निम्न पैटर्न का उपयोग कर सकते हैं: -

GC.Collect();
GC.WaitForPendingFinalizers();
GC.Collect();

var before = System.Diagnostics.Process.GetCurrentProcess().VirtualMemorySize64;

// performs operations here

var after = System.Diagnostics.Process.GetCurrentProcess().VirtualMemorySize64;

यह निश्चित रूप से, यह मानते हुए कि उपर्युक्त परिचालन चल रहे हैं, जबकि अन्य थ्रेड पर संचालन नहीं कर रहे हैं।

आप VirtualMemorySize64 को जो भी अन्य मेट्रिक में रुचि रखते हैं, उसे प्रतिस्थापित कर सकते हैं। उपलब्ध होने के लिए System.Diagnostics.Process प्रकार पर एक नज़र डालें।






memory-management