是什么导致 Windows 上的 Bash 中 htop 的 CPU 使用率输出奇怪

是什么导致 Windows 上的 Bash 中 htop 的 CPU 使用率输出奇怪

当我在 Windows 上运行htopBash 时,我得到以下有关 CPU 使用率的输出: 在此处输入图片描述 而Windows任务管理器显示使用率约为1%。

这里很明显,htop 的红色区域是应该表示内核线程的 CPU 使用率,绿色表示普通优先级线程。

对于 Windows 上的 Bash,目前看来绿色是实际的 CPU 使用率,但红色是什么意思?它可能代表 Windows-Linux 子系统可以使用的最大限制,还是仅仅是显示错误,在这种情况下,为什么它具体显示每个 CPU/超线程的使用率为 50%?

答案1

我遇到了完全相同的问题:

顶部

如您所见,我只运行了 htop,它几乎只使用了 1.0% 的 CPU,在 Windows 上,执行此操作时 CPU 使用率低于 10%。更糟糕的是,线程 4 的绿色条总是比其他的要大得多。它们所有的比例始终在 50-60% 之间。

我相信这是一个实施问题,或者只是一个错误,请记住“Windows 上的 bash”仍处于测试阶段。如果有人知道修复方法或至少解决方法,那就太好了。

有关 bash 和测试期间潜在问题的其他信息:https://msdn.microsoft.com/en-us/commandline/wsl/about?f=255&MSPPError=-2147217396(阅读重要的提示

答案2

解释很简单。Windows 上的 Bash 无法访问托管 Windows 计算机的 CPU 数据。因此,在 Microsoft 解决此问题之前,输出tophtop您计划使用的任何内容都不会显示真实的 CPU 使用率。

答案3

我猜任务管理器的详细信息中应该是“系统空闲进程”。这可能是一个内核级进程,它占用了我未使用的剩余 CPU 空间。也许htop我搞混了。

看:https://en.wikipedia.org/wiki/System_Idle_Process

相关内容