我正在尝试监控我一直在更新的进程的 CPU 使用率,以便完成更多工作。然而读取/proc/pid/stat 文件,进程的 jiffie 计数(utime、stime 等)不会增加。 (它肯定在做一些工作,我可以用 strace 等看到它)。
进程所做的工作量相对较小(每秒读取/proc/stat 10 次,执行 scanf,一些添加/删除,并更新一些共享内存)。是否有可能工作量如此之低以至于无法增加 jiffie 计数?进程是否必须在处理器上等待一个完整的 jiffie 才能增加计数?
任何想法将不胜感激
干杯 乔。
最佳答案
您正在查看的计数器在计时器滴答期间更新。仅更新 tick 发生时运行的进程。如果您的进程需要大量等待,那么当计时器触发时它很可能不会运行。
关于linux - 无法测量的 CPU 使用率?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2273668/