监控多线程性能

时间:2013-11-05 06:09:21

标签: multithreading performance

我创建了一个具有多个线程(大约4-5个线程)的Windows服务。在此特定内部和中止创建的服务线程中。一旦创建了线程,它就会执行一些I / O操作&数据库操作。

我有一个此服务的GUI来提供此服务所需的配置。在这个GUI中,我想添加一个功能,向我展示所有线程的Windows服务性能。我希望显示CPU利用率(如果多核处理器可用,而不是所有处理器利用率)及其内存利用率。

如果你看一下Windows任务管理器它显示CPU(每个核心基础)+内存利用率,我想构建相同的东西,但仅限于我的Windows服务运行的线程。

有人可以帮我解决如何获得每个线程的CPU%和内存利用率吗?

1 个答案:

答案 0 :(得分:0)

我认为你无法获得线程的CPU和内存利用率。相反,您可以为您的服务获得相同的服务。

我的问题是,为什么您需要构建自己的功能,SysInternals Process explorer为您提供更多详细信息?有什么具体需求吗?

如果需要监视线程活动,可以使用Log4net或其他日志记录工具更好地记录一些信息。这将让您了解线程及其正在做的事情。

更具体地说,您可以使用TelNetAppender发布日志,您的应用程序可以接收这些日志。这将帮助您实时查看流程。