Multithreading 监视多线程性能

Multithreading 监视多线程性能,multithreading,performance,Multithreading,Performance,我创建了一个具有多个线程(大约4-5个线程)的windows服务。在此服务中,线程在特定的内部创建并中止。创建线程后,它将执行一些I/O操作和db操作 我有一个用于此服务的GUI来提供此服务所需的配置。在这个GUI中,我想再添加一个功能,向我展示windows服务相对于所有线程的性能。我想显示CPU利用率(如果多核处理器比所有处理器利用率都高)及其内存利用率 如果你看一下Windows任务管理器,它显示了CPU(每个核心)+内存利用率,我想构建同样的东西,但只针对Windows服务运行的线程 有

我创建了一个具有多个线程(大约4-5个线程)的windows服务。在此服务中,线程在特定的内部创建并中止。创建线程后,它将执行一些I/O操作和db操作

我有一个用于此服务的GUI来提供此服务所需的配置。在这个GUI中,我想再添加一个功能,向我展示windows服务相对于所有线程的性能。我想显示CPU利用率(如果多核处理器比所有处理器利用率都高)及其内存利用率

如果你看一下Windows任务管理器,它显示了CPU(每个核心)+内存利用率,我想构建同样的东西,但只针对Windows服务运行的线程


有人能帮我找出如何获得每个线程的CPU%和内存利用率吗?

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

我的问题是,为什么需要构建自己的功能,而SysInternals Process explorer为您提供了更多细节?有什么特殊需要吗

如果需要监视线程活动,最好使用Log4net或其他日志工具记录一些信息。这将使您了解线程及其所做的工作

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

请参阅和