用下面的方法,可以检查.net给程序分配的内存数量
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
使用下面的方法,可以检查当前应用程序占用的内存
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 );