我正在开发一个后台程序,它将长时间运行,我有一个外部日志记录程序 (SmartInspect),我想定期向其中提供一些值,以便在调试时实时监控。
我知道我可以简单地启动多个程序,例如任务管理器或IARSN TaskInfo,但是我希望在我的程序中保留所有内容,因为我也想添加一些简单的规则,例如如果程序使用了超过 X% 的 CPU,则在日志中标记此事项。
我有一个后台线程,定期向 SmartInspect 提供一些统计信息,例如内存消耗、工作集等。
这个线程是否可以得到一个相当准确的测量,来衡量它占用了计算机的CPU资源的百分比?主程序是单线程应用程序(除了记录统计信息的看门狗线程),因此,如果某种技术仅限于“单个线程使用了多少”,那也很好。
我找到了一些关于 Linux 和 C 中称为 rusage 的东西。是否有类似的东西可以用于此?
编辑:好的,我尝试了性能计数器方式,但每次调用都会增加相当多的 GC 数据,因此内存使用和垃圾回收的图表飙升。我想我现在不加这一部分了。