首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >获取有关线程在运行时消耗的资源的信息

问获取有关线程在运行时消耗的资源的信息
EN

Stack Overflow用户
提问于 2016-04-19 21:10:11
回答 2查看 55关注 0票数 1

我有一个.NET多线程应用程序。有没有办法在运行时显示线程消耗的资源信息,比如CPU、Mememory e.t.c?例如,如果我运行一个占用大量内存的运行繁重数学操作的线程,我想知道该特定线程消耗了多大的内存。

EN

回答 2

Stack Overflow用户

发布于 2016-04-19 21:48:39

这将为您提供整个进程的内存使用情况:

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

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

对于每个线程的测量,我建议您跟踪使用的对象的数量(尽管这不是一项微不足道的任务)。

票数 0
EN

Stack Overflow用户

发布于 2016-04-19 21:49:39

线程的一个核心概念是它共享自己拥有的进程资源。线程没有自己的资源所有权概念。

如果您希望从外部查看进程(以及包含的线程),可以使用许多工具。

如果你想跟踪动态分配的使用情况,首先要确保你确实需要这样做(.net对内存的管理非常好)。但是,如果需要的话,您需要查看System.Diagnostics名称空间;尤其是PerformanceCounters。但请记住,主动监控会改变性能特征。

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

https://stackoverflow.com/questions/36719455

复制
相关文章

相似问题

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