首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >获取进程的内存使用率

获取进程的内存使用率
EN

Stack Overflow用户
提问于 2009-05-09 03:15:11
回答 3查看 59.1K关注 0票数 31

我在弄清楚如何准确地获取进程的内存使用率时遇到了一些麻烦。(它当前消耗了多少内存,而不是保留了多少内存,或者它的最大或最小内存)

假设我有一个在后台运行的进程,Java.exe,它被允许使用1024mb的内存,我怎么知道它当前使用了多少内存。

我自己启动了进程,所以我可以访问process对象,我只是想要更多地澄清一下我的属性是什么。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2009-05-09 03:35:42

如果您纯粹对物理内存感兴趣,则可能需要WorkingSet64,它提供“为相关进程分配的物理内存量”。请注意,此值不断变化,此调用给您的值可能不是最新的。您可能还会对PeakWorkingSet64感兴趣,它提供了“相关进程使用的最大物理内存量”。

票数 20
EN

Stack Overflow用户

发布于 2013-02-17 21:46:47

我在msdn上找到了这个,它起作用了

代码语言:javascript
复制
System.Diagnostics.Process proc = ...; // assign your process here :-)

int memsize = 0; // memsize in KB
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();
票数 53
EN

Stack Overflow用户

发布于 2020-01-26 03:21:12

Win32 GetSystemInfo function也适用。

在这个Memory.dll项目中,它实际上在实践中成功地用于字节数组扫描:https://github.com/erfg12/memory.dll/blob/042db0cf75e4152a7adf1ea47e6f23f1ad763fb6/Memory/memory.cs#L1909

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/842585

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档