Windows 我如何判断我的进程是CPU绑定、I/O绑定、内存绑定还是内存绑定

Windows 我如何判断我的进程是CPU绑定、I/O绑定、内存绑定还是内存绑定,windows,resources,performance,virtual-machine,performancecounter,Windows,Resources,Performance,Virtual Machine,Performancecounter,我正在尝试加快编译应用程序所需的时间,我正在调查的一件事是检查我可以向构建机器添加哪些资源(如果有的话)以加快速度。为此,我如何判断是否应该投资更多的CPU、更多的RAM、更好的硬盘,或者进程是否受到其他资源的限制?我已经看到了这个()并且正在寻找更多的提示和指针 到目前为止,我所尝试的: 在构建计算机上对进程计时,而不是在本地计算机上。我发现构建机器花费的时间是我的机器的两倍 运行“资源监视器”,查看进程运行时的CPU使用情况、内存使用情况和磁盘使用情况——在执行此操作时,我很难解释这些数字

我正在尝试加快编译应用程序所需的时间,我正在调查的一件事是检查我可以向构建机器添加哪些资源(如果有的话)以加快速度。为此,我如何判断是否应该投资更多的CPU、更多的RAM、更好的硬盘,或者进程是否受到其他资源的限制?我已经看到了这个()并且正在寻找更多的提示和指针

到目前为止,我所尝试的:

  • 在构建计算机上对进程计时,而不是在本地计算机上。我发现构建机器花费的时间是我的机器的两倍

  • 运行“资源监视器”,查看进程运行时的CPU使用情况、内存使用情况和磁盘使用情况——在执行此操作时,我很难解释这些数字,主要是因为我不理解每列的含义,以及它们如何转化为虚拟机与物理机箱,以及多CPU机箱的含义


Start>Run>perfmon.exe

Performance Monitor可以绘制许多系统指标,您可以使用这些指标来推断瓶颈在哪里,包括cpu负载、io操作、页面文件命中等

此外,平台SDK现在包括一个名为XPerf的工具,它可以提供与开发人员更相关的信息。

将告诉您CPU和I/O时间的百分比

基本上,如果您随机获取10个堆栈快照,并且如果80%(例如)的时间在I/O中,那么在8+/-1.3个样本上,堆栈将到达读取或写入缓冲区的系统例程。
如果您想要更高的精度,请采集更多的样本。

很难从您的问题中分辨出来:构建机是虚拟机吗?虚拟机的性能调整可能与物理机的性能调整完全不同。是的,生成机是虚拟机。