模拟特定时间段内的高cpu使用率

本文关键字:cpu 使用率 定时间 时间段 模拟 | 更新日期: 2023-09-27 18:21:06

可能重复:
模拟稳定的CPU负载和峰值

我需要编写一个应用程序,它可以在一定的持续时间内以预设值(例如,30%、50%、90%等)模拟高cpu使用率。这意味着它将需要两个输入(CPUUsage和持续时间)。假设我使用50%的CPU使用率和2分钟的持续时间)。这意味着当我运行应用程序时,它应该占用50%的CPU 2分钟。有什么想法可以实现吗?

模拟特定时间段内的高cpu使用率

您将需要编写一个旋转循环,以使处理器在所需的时间内保持忙碌。Sleep(n)不起作用,因为当它使线程繁忙时,它允许CPU做其他事情。

使用基于线程的计时器(而不是基于消息的计时器)来安排负载模拟器函数的定期执行,比如每10秒执行一次。在该函数中,运行旋转循环(增加局部变量的for循环),直到达到所需的加载时间(10秒的%),然后退出该函数。计时器会在(大约)10秒后再次给你打电话,以咀嚼另一个时间片。因此,对于30%的负载,你的旋转循环应该在每10秒的间隔中搅拌3秒。

您还应该考虑系统中存在的可执行内核的数量。在四核超线程英特尔处理器上,您应该创建8个线程,并在每个线程中运行负载模拟器。