首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >C#中的内存使用情况

C#中的内存使用情况
EN

Stack Overflow用户
提问于 2009-04-16 12:32:59
回答 3查看 26.1K关注 0票数 18

我有一个在C#中使用线程的程序。有没有办法以编程的方式知道应用程序的内存使用情况?我想限制线程的产生,比如说10MB的内存,我该怎么做呢?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2009-04-16 12:42:57

如果您想要整个正在运行的进程的内存,而不是每个线程的内存,那么:

代码语言:javascript
复制
// get the current process
Process currentProcess = System.Diagnostics.Process.GetCurrentProcess();

// get the physical mem usage
long totalBytesOfMemoryUsed = currentProcess.WorkingSet64;

除了WorkingSet64之外,还有一大堆其他的进程内存属性,请在以下链接中查看与内存相关的属性,以获得最适合的属性

http://msdn.microsoft.com/en-us/library/system.diagnostics.process_properties.aspx

票数 25
EN

Stack Overflow用户

发布于 2009-04-16 12:47:56

虽然我同意你已经收到的关于你的问题的评论,但如果你真的决定采取这种行动,使用System.Environment.WorkingSet可能是一个实际的答案?

票数 4
EN

Stack Overflow用户

发布于 2009-04-16 12:42:58

我同意威尔和史蒂夫,除非你真的迫不得已,否则不要这么做。。。这就是说。。。

如果您确实需要这样做,您可以使用.Net Hosting APIs,它们就在那里,这样像SQL Server这样的应用程序就可以在应用程序中托管.net框架。

它让你可以控制内存管理等等,我读过这篇文章,但从来没有用过API,当我无聊的时候,它们在我的待办事项列表上,当我的其他“有趣”的项目在那一周感觉不到乐趣的时候,它们就在我的待办事项清单上。)

希望这能有所帮助。

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

https://stackoverflow.com/questions/755919

复制
相关文章

相似问题

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