dtop: 一个系统占用率及系统性能测量工具

calinyara

top / htop等CPU占用率查看工具是通过累计系统时钟中断tick数目的方法来实现的。当在一个时钟中断周期内(1/Hz) 发生了多次进程调度的时候,这种 “加法” 的统计方法就会变得不准确。

图1: CPU占用统计不准确的例子

按照Linux内核CPU占用率的“加法” 方法。在上面例子的第1次和第2次时钟中断期间,内核漏掉了进程B的运行。在第2次和第3次中断期间,内核又漏掉了进程A的运行。

dtop是一个基于RUST语言编写的工具。其设计是基于 “减法“原理。dtop会在系统中每个CPU上运行一个“浸泡”线程,占据全部CPU。当有某些workloads被调度运行时,CPU算力被从这些“浸泡”线程让渡。“浸泡”线程所减少的CPU占用则为这些workloads实际占用的CPU资源。该测量方法十分精确,有效地避免了调度时间间隔小于系统时钟中断间隔造成的统计不准确。

References:

阅读 1.9k
4 声望
1 粉丝
0 条评论
你知道吗?

4 声望
1 粉丝
宣传栏