我有一个运行Win7 x64的4核Ivy Bridge系统。我运行一个单线程进程,大量使用整数MUL和DIV并分配大量内存(总共16 GB的GB)。更重要的是,此过程使用处理器关联设置运行(因为这使得它运行得更快)。
当进程运行时,整个系统有时会滞后几秒钟(有时甚至是5-10秒),我不明白为什么。
我无法理解为什么我的用户体验受到如此严重的影响。即使我将进程类设置为IDLE,也会发生这种情况。更重要的是,我如何调查什么在减慢Windows的速度?通常,我会寻找高CPU负载或许多句柄或页面错误,但所有这些都很低。我的猜测是我的进程阻止了一些Windows资源,但我不知道哪个。
更新:正如在https://stackoverflow.com/a/4472603/1045800中所解释的那样,我尝试了“随机暂停”,但无济于事:堆栈跟踪总是从我的代码中的某处开始,只是嘎吱嘎吱地走,没有资源使用KiApcInterrupt
访问。我没有看到任何可能导致延迟的Windows资源访问。
更新:该过程是一个控制台应用,但它很少产生任何输出。