![如何在一段时间内监控一个进程的 CPU 使用率?](https://linux22.com/image/1237818/%E5%A6%82%E4%BD%95%E5%9C%A8%E4%B8%80%E6%AE%B5%E6%97%B6%E9%97%B4%E5%86%85%E7%9B%91%E6%8E%A7%E4%B8%80%E4%B8%AA%E8%BF%9B%E7%A8%8B%E7%9A%84%20CPU%20%E4%BD%BF%E7%94%A8%E7%8E%87%EF%BC%9F.png)
我想知道我的电脑上某个特定可执行文件一天的平均 CPU 使用率是多少。
我可以编写一个 C# 应用程序来执行此操作,但我想如果它存在的话,这正是超级用户会知道的那种应用程序!
我正在使用 Windows 7 64 位,以防万一!
谢谢!
答案1
进入性能监视器。右键单击图表并选择“添加计数器”。
在“可用计数器”列表中,单击旁边的向下箭头打开“进程”部分。选择“% 处理器时间”(以及您想要的任何其他计数器)。
在“所选对象的实例”列表中,选择要跟踪的进程。然后单击“添加 >>”。选择完所需内容后,单击“确定”。
这将提供所选应用程序的 CPU 使用率图表。
答案2
任何超级用户都应该使用的另一个应用程序是进程探索器。
请参阅 Mark Russinovich 的技术博客文章系统进程 CPU 峰值的情况,他追踪了由网络驱动程序引起的 CPU 峰值。
答案3
以下命令获取特定进程 (pid) 每 50 秒的平均 CPU 和内存使用情况
pidstat 50 -ru -p <pid>
我的情况的输出(前两行表示 CPU 使用率,后两行表示内存):
02:17:47 PM PID %usr %system %guest %CPU CPU Command
02:18:27 PM 24563 0.38 0.07 0.00 0.45 3 java
02:17:47 PM PID minflt/s majflt/s VSZ RSS %MEM Command
02:18:27 PM 24563 11.68 0.00 13047972 2123268 6.52 java
答案4
以下链接可能对你有用: http://zamov.online.fr/EXHTML/CSharp/CSharp_927308.html
否则,请查看 System.Diagnostics 命名空间(在 System.Diagnostics 上快速搜索会显示相关页面)。