标签: process-monitoring

监视进程对每个CPU核心的使用情况

有没有一种方法来查询或计算的CPU使用单个进程每次每个核心分别?

例如,

名称 - - - - Core1 - Core2 - Core3 - Core4
firefox.exe - 0.5% - - 0.1% - - 0.2% - - 0.3%

我知道一个名为"Process Explorer"的程序(Mark Russinovich)可以做到这一点,但我怎么能在C#中做到这一点?我已经看过System.Diagnostics命名空间了,但是找不到符合我要求的东西.

这是我想要实现的目标的图片,

http://i.stack.imgur.com/XySpQ.png

c# process-monitoring

16
推荐指数
1
解决办法
3867
查看次数

监控特定流程的网络性能

我正在编写一个程序,它使用.NET性能计数器来获取特定进程的CPU,内存和网络使用情况.

例如,要获取CPU和内存数据Explorer,我创建如下性能计数器:

PerformanceCounter PC = new PerformanceCounter();
PC.CategoryName = "Process";
PC.CounterName = "% Processor Time";
PC.InstanceName = "Explorer";

PerformanceCounter PC = new PerformanceCounter();
PC.CategoryName = "Process";
PC.CounterName = "Working Set - Private";
PC.InstanceName = "Explorer";
Run Code Online (Sandbox Code Playgroud)

不幸的是,Process没有属性categoryName允许我获得该进程的网络使用.我可以使用网络接口categoryName来获取任何特定NIC上的整体网络使用情况,但无法将其隔离到任何给定的进程.

c# process process-monitoring

8
推荐指数
1
解决办法
1909
查看次数

Monit具有相同名称的多个进程

我是Monit的新手,并试图了解它是否提供了一种处理PID未知的同名多个进程的方法.我理想的Monit行为是:

观察名为"x"的每个进程,并重新启动任何内存使用率超过X的进程

如果那是不可能的,我也会满足于:

观察名为"x"的每个进程,如果其中任何内存使用量超过X,则重新启动所有进程

我看到的大多数Monit示例都依赖于PID,或者只希望一个进程具有指定的名称.

我也对其他可能比Monit更适合的工具的建议感兴趣.

谢谢!

process-monitoring monit

5
推荐指数
1
解决办法
449
查看次数

Windows上的Java需要记录CPU负载和类似的OS特定性能信息

在Windows机器上运行的Java库需要记录有关操作系统的信息,如CPU负载,JVM等占用的内存,我非常肯定Java本身无法获取,因为它是特定于操作系统的.

此库的日志中需要此信息,以便向客户端指出某些操作失败,因为库无法获取足够的资源.

不可能选择JVM,即我们不能要求我们的客户端应该使用实现Windows操作系统特定功能的特定JVM.

是否有可以通过JNI使用的Windows库(DLL)或API?

我们也可以用C++或C#自己实现一个DLL,在哪里我需要看看如何最有效地完成这个?

编辑:我需要访问有关JVM本身进程的数据,我猜这只能通过本机Windows API获取.所以我想我必须实现一个小的C程序并通过JNI将其作为本机DLL链接.有什么提示吗?

c# java windows process-monitoring

3
推荐指数
1
解决办法
163
查看次数

监控程序生命的最佳实践

我想听听你对程序生命监控的看法.

这就是场景.你有一个通常有效的简单程序,这意味着它写得很好,处理异常等等.

如果你想确保这个程序永远有效,你将如何运作?

没有像crontab这样的外部工具可用,但可以添加任何开销.

使用另一个持续"ping"主程序的程序?触摸文件并检查另一个程序进行文件修改?

你如何确保第二个程序始终有效?

所以,来吧,告诉我你在这方面的意见或最佳实践!

作为脚注,我将用Python编写这个程序,但这是一个通用的问题!

language-agnostic process-monitoring

1
推荐指数
1
解决办法
141
查看次数