![使用任何系统调用查找系统空闲时间(以微秒为单位)](https://linux22.com/image/72946/%E4%BD%BF%E7%94%A8%E4%BB%BB%E4%BD%95%E7%B3%BB%E7%BB%9F%E8%B0%83%E7%94%A8%E6%9F%A5%E6%89%BE%E7%B3%BB%E7%BB%9F%E7%A9%BA%E9%97%B2%E6%97%B6%E9%97%B4%EF%BC%88%E4%BB%A5%E5%BE%AE%E7%A7%92%E4%B8%BA%E5%8D%95%E4%BD%8D%EF%BC%89.png)
为了进行性能分析并根据系统和应用程序性能做出决策,我需要找到系统的空闲时间。我想要以微秒为单位的精确值。
我知道我可以使用 procfs /proc/uptime 获取 jiffies 的值,但我听说读取 procfs 会产生额外的开销,并且可能会很慢,因为这些文件是按需创建的。
如果我错了,请纠正我,但这个值以 jiffies 为单位,它不如函数clock_gettime返回的值精确,我用函数clock_gettime来查询系统正常运行时间(CLOCK_BOOTTIME)、进程和线程在内核和系统中花费的时间。同样的情况也适用于 /proc/stat (值以 jiffies 为单位)
我正在询问任何其他方法来查询进程空闲时间,并且由于其他值(正常运行时间。内核/用户空间时间以微秒为单位),所以我只期望空闲时间以微秒为单位。
任何帮助和意见将不胜感激。