我正在使用适用于 Linux 的 Windows 子系统 (WSL),但我对 linux 的功能还没有进行过实验。最近,我一直想更好地了解进程的 CPU 使用情况,但我感到很困惑。我在一台有 2 个内核和 4 个逻辑内核的计算机上。
在我想讨论的 CPU 使用率示例中,我从 2 个终端的 DFT 代码(物理内容)启动了 2 个独立的串行计算。我在 Windows 系统中打开了其他较小的进程(互联网选项卡、Thunderbird ......)。
如果我从 Windows 的任务管理器检查 CPU 使用率,它会告诉我我使用了大约 70% 的 CPU,它似乎均匀分布在 4 个逻辑处理器上。
当我top在 Linux 上使用命令时,它向我显示了两个“pw.x”进程(我指的是计算),每个进程都使用了大约 100% 的 CPU(!)。我不明白那些“100%”值指的是什么;100%什么?我认为这是显示的所有内核的平均值。我的电脑还运行得很流畅,所以CPU单元不能全部被DFT代码用完
如果我用 查找它mpstat -P ALL,我会得到其他结果:它告诉我 4 个处理器中的每一个都用于 ~20%-30%...这与 Windows 诊断如何一致?还是使用 top 命令?
参见下面的屏幕截图以获取摘要(对于 Windows 上的法语很抱歉):
基本上我的问题如下:
这些不同的诊断是否相互一致?
有人可以指出我给初学者的参考,清楚地解释了这些监控命令的使用,以及报告的数量究竟指的是什么?
是否有一个命令可以让我知道哪个核心在做什么?我正在运行串行计算(非并行),我的理解是计算因此每个都在单个核心上处理,但我可能是错的。如果是这样,我想知道每个计算都转到哪个核心,使用了多少
非常感谢您,并为初学者的问题道歉