用下面的方法,可以檢查.NET給程式分配的記憶體數量
1 2 3 4 5 6 | long available = GC.GetTotalMemory( false );
Console.WriteLine(“Before allocations: {0:N0}”, available);
int allocSize = 40000000;
byte [] bigArray = new byte [allocSize];
available = GC.GetTotalMemory( false );
Console.WriteLine(“After allocations: {0:N0}”, available);
|
登入後複製
在我的系統中,它運行的結果如下所示
Before allocations: 651,064
After allocations: 40,690,080,690,080 ,可以檢查當前應用程式佔用的記憶體
1 2 3 4 5 6 7 8 9 | Process proc = Process.GetCurrentProcess();
Console.WriteLine(“Process Info: “+Environment.NewLine+
“Private Memory Size: {0:N0}”+Environment.NewLine +
“Virtual Memory Size: {1:N0}” + Environment.NewLine +
“Working Set Size: {2:N0}” + Environment.NewLine +
“Paged Memory Size: {3:N0}” + Environment.NewLine +
“Paged System Memory Size: {4:N0}” + Environment.NewLine +
“Non-paged System Memory Size: {5:N0}” + Environment.NewLine,
proc.PrivateMemorySize64, proc.VirtualMemorySize64, proc.WorkingSet64, proc.PagedMemorySize64, proc.PagedSystemMemorySize64, proc.NonpagedSystemMemorySize64 );
|
登入後複製