我在 的各种分叉上运行一些基准测试,bitcoind
并且在运行时注意到一些相互冲突的值top
。
在下面的屏幕截图中,8 个 cpu 中的每一个的 cpu 利用率均匀分布在 30% 左右。但在其下方的列表视图中,bitcoind
显示 CPU 为 105%。鉴于这不是在 Irix 模式下,这意味着bitcoind
1 个 cpu 的使用率为 100%。但在上面的细分中并没有这样显示。此外,我正在运行的 Python 进程在底部读数中每个报告约 40%,但顶部的 cpu 都没有读取约 40%。
该机器确实有 8 个物理核心,运行非虚拟化的 Ubuntu。
stress
为了进行比较,这里在具有相同显示屏的 8 个 cpu 上运行top
。请注意,8 个 cpu 每个都有 100% 的利用率,并且 8 个stress
进程每个都有 100% 的报告。
更新:确实,我正在测试的变体是多线程的,并且该H
选项显示了故障,谢谢@TheGeek
答案1
这是因为你的硬币是多线程的。按顶部的字母“H”打开线程模式。这将向您显示 bitcoind 的子线程。然后您可以看到 CPU 使用率的分布情况。
您还可以尝试 gstack 查看线程列表。