gpt4 book ai didi

C# 将 CPU 保持在/接近指定的百分比使用率以进行测试

转载 作者:太空狗 更新时间:2023-10-29 23:16:37 25 4
gpt4 key购买 nike

我目前正在开发一个小型内部测试应用程序,以在计算机上创建多种类型的负载,以便我们可以了解我们的软件在负载下的工作方式。我被一个请求挂断了,因为我在用户运行程序之前做了某种方式来指定 CPU 使用百分比(比如 40%),这有望将 CPU 保持在一个范围内 +-他们投入的 10%。有人告诉我,他们以前看到过这样做的程序,但我看到的每一个声称这样做的程序都没有用。我试图读取平均使用率并使线程休眠以降低 CPU 使用率,但我发现这并不准确。它还将在多台服务器上使用,每台服务器都有不同的 CPU,所以我不能做太多的硬编码,因为它需要在每台服务器上工作。我个人认为不可能准确地做到这一点,但作为最后的努力,我在这里问是否有其他人遇到过类似的软件,并且知道它是如何编写的。

编辑:我曾尝试使用优先级较低的线程,但也被告知这对他们没有用(尽管在我提出这个要求之前,我创建的选项只是为了测试目的)。

最佳答案

我们在调整应用程序服务器前做过类似的事情。我们发现当 CPU 占用率在 70% 左右时,我们的整体吞吐量是最好的。我们的解决方案是启动额外的线程,每个线程之间有一个延迟,直到达到所需的负载。如果 CPU 使用率超过 80%,我们将减少正在运行的线程数(向线程发出信号以完成其当前工作然后终止)。如果 CPU 使用率下降到 60% 以下,我们将启动一个新线程。

您可以应用类似的逻辑来创建可以调整为 objective-c PU 利用率的人工负载。您的线程需要平衡 CPU 和非 CPU(IO,或只是 sleep )以便进行微调。如果您的线程非常占用 CPU,则每个线程将消耗 1 个 CPU 核心至大约 100%。

关于C# 将 CPU 保持在/接近指定的百分比使用率以进行测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12011892/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com