sho*_*app 9 c# memory memory-management
如何使用C#计算内存的私有工作集?我有兴趣制作大致相同的数字taskmgr.exe.
我正在使用Process命名空间并使用类似WorkingSet64和的方法/数据PrivateMemorySize64,但这些数字有时会减少100MB或更多.
Han*_*ant 29
这是一个高度可变的数字,你无法计算它.Windows内存管理器不断地将页面交换进RAM.TaskMgr.exe从性能计数器获取它.你可以得到这样的数字:
using System;
using System.Diagnostics;
class Program {
static void Main(string[] args) {
string prcName = Process.GetCurrentProcess().ProcessName;
var counter = new PerformanceCounter("Process", "Working Set - Private", prcName);
Console.WriteLine("{0}K", counter.RawValue / 1024);
Console.ReadLine();
}
}
Run Code Online (Sandbox Code Playgroud)
请注意,这个数字并不意味着什么,当其他进程开始并争夺RAM时,它会下降.
| 归档时间: |
|
| 查看次数: |
22329 次 |
| 最近记录: |