为什么内存密集型进程会如此严重地降低Windows的速度?

时间:2014-02-28 15:10:45

标签: windows resources cpu-usage lag

我有一个运行Win7 x64的4核Ivy Bridge系统。我运行一个单线程进程,大量使用整数MUL和DIV并分配大量内存(总共16 GB的GB)。更重要的是,此过程使用处理器关联设置运行(因为这使得它运行得更快)。

当进程运行时,整个系统有时会滞后几秒钟(有时甚至是5-10秒),我不明白为什么。

  • 仍然有10GB RAM可用,远远超过需要。
  • 仍有3个未使用的核心,PROCEXP显示它们未被使用。
  • 我的号码处理过程不使用我所知道的任何其他资源:没有磁盘,没有网络,没有事件等。

我无法理解为什么我的用户体验受到如此严重的影响。即使我将进程类设置为IDLE,也会发生这种情况。更重要的是,我如何调查什么在减慢Windows的速度?通常,我会寻找高CPU负载或许多句柄或页面错误,但所有这些都很低。我的猜测是我的进程阻止了一些Windows资源,但我不知道哪个。

更新:正如在https://stackoverflow.com/a/4472603/1045800中所解释的那样,我尝试了“随机暂停”,但无济于事:堆栈跟踪总是从我的代码中的某处开始,只是嘎吱嘎吱地走,没有资源使用KiApcInterrupt访问。我没有看到任何可能导致延迟的Windows资源访问。

更新:该过程是一个控制台应用,但它很少产生任何输出。

0 个答案:

没有答案