当我在 Windows 上运行htop
Bash 时,我得到以下有关 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 解决此问题之前,输出top
或htop
您计划使用的任何内容都不会显示真实的 CPU 使用率。
答案3
我猜任务管理器的详细信息中应该是“系统空闲进程”。这可能是一个内核级进程,它占用了我未使用的剩余 CPU 空间。也许htop
我搞混了。