首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >预测进程的内存使用情况

预测进程的内存使用情况
EN

Stack Overflow用户
提问于 2011-11-27 17:32:59
回答 2查看 252关注 0票数 1

我正在开发一个使用并行计算的应用程序。要知道我可以并行运行多少任务,我需要能够预测每个任务将占用的内存量。

我知道(大概)每个任务将使用多少每种类型的数据。

如何预测内存使用情况?使用流程度量执行运营研究?求多个sizeof()?

我的工作平台是Windows7,x64版。每个任务都在单独的进程中运行。

EN

回答 2

Stack Overflow用户

发布于 2011-11-27 18:18:12

因此,您实际上要做的是找出每个任务将占用的最大内存量。

有一个.net函数就可以做到这一点。它被称为Process::PeakWorkingSet64

代码语言:javascript
复制
Process p = Process.GetCurrentProcess();
int maxSizeInKb = (int) p.PeakWorkingSet64() / (float) 1024;
Console.WriteLine(maxSizeInKb + "KB");

在您的进程退出之前添加此代码,并将获得您想要的信息,单位为in。

票数 1
EN

Stack Overflow用户

发布于 2011-11-27 18:14:15

在其运行的高峰期,为其中一个任务调用GetProcessMemoryInfo并获取特定任务(进程)的内存使用情况。您可能还想通过在不同时间对不同任务调用此函数来获取此数据的采样,以获得更精确的平均值。

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

https://stackoverflow.com/questions/8284632

复制
相关文章

相似问题

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