我一直在弄清楚我是如何获得进程的ram用法的.(它目前消耗多少ram,而不是预留多少,或者最大或最小)
假设我有一个在后台运行的进程,Java.exe,允许使用1024mb的ram,我怎么能知道它当前使用了多少ram.
我自己开始这个过程,所以我可以访问Process对象,我想更清楚一下我的属性是什么.
Laz*_*sen 41
我在msdn上找到了它并且它正在工作
System.Diagnostics.Process proc = assign your process here :-)
int memsize = 0; // memsize in Megabyte
PerformanceCounter PC = new PerformanceCounter();
PC.CategoryName = "Process";
PC.CounterName = "Working Set - Private";
PC.InstanceName = proc.ProcessName;
memsize = Convert.ToInt32(PC.NextValue()) / (int)(1024);
PC.Close();
PC.Dispose();
Run Code Online (Sandbox Code Playgroud)
Mat*_*hen 19
如果你纯粹对物理内存感兴趣,你可能需要WorkingSet64,它给出了"为相关进程分配的物理内存量".了解此值不断波动,此调用给您的值可能不是最新的.您可能还对PeakWorkingSet64感兴趣,它提供了"关联进程使用的最大物理内存量".
| 归档时间: |
|
| 查看次数: |
48262 次 |
| 最近记录: |