2013-11-05 62 views
0

我已经创建了一个具有多个线程的窗口服务(约4-5个线程)。在这个服务线程创建在特定的内部和中止。一旦创建线程,它将执行一些I/O操作db操作。监视多个线程的性能

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

如果你看看Windows任务管理器,它显示CPU(每核心基础)+内存利用率,我想建立同样的事情,但只为我的Windows服务运行的线程。

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

+0

请参阅http://stackoverflow.com/q/1393006/56778和http://technet.microsoft.com/en-us/library/cc938601.aspx –

回答

0

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

我的问题是,为什么你需要建立自己的功能,其中SysInternals进程资源管理器给你更多的细节?任何特定的需求?

如果您需要监视线程活动,则可以使用Log4net或其他记录工具更好地记录一些信息。这会让你了解线程和他们在做什么。

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