在我们公司,我们经常在CPU压力下测试我们的USB和FireWire设备的性能。
有一个测试代码,我们运行它来加载CPU,通常用于非正式测试以查看我们的设备性能会发生什么变化。
我查看了这个代码,它是一个简单的循环,它递增一个计数器并根据新值进行计算,将结果存储在另一个变量中。
运行单个实例将使用CPU的1 / X,其中X是核心数。
因此,例如,如果我们在一台8核PC上想要查看我们的设备在50% CPU使用率下的运行情况,我们可以同时打开四个实例,依此类推...
我在想:
是什么决定了使用多少CPU?它是否只在单线程应用程序的单个线程上尽可能快地运行所有内容?
是否有一种方法可以自愿限制程序可以使用的最大CPU使用率?我可以想到一些“懒惰”的方法(添加睡眠命令或其他东西),但是否有一种方法可以将其限制为可用CPU的某个指定百分比?