在我的公司,我们经常在 CPU 压力下测试 USB 和 FireWire 设备的性能。
我们运行一个测试代码来加载 CPU,它经常用于非常简单的非正式测试,以了解我们的设备性能会发生什么变化。
我查看了相关代码,它是一个简单的循环,它增加计数器并根据新值进行计算,并将结果存储在另一个变量中。
运行单个实例将使用 1/X 的 CPU,其中 X 是核心数量。
因此,举例来说,如果我们在一台 8 核 PC 上,并且想要查看设备在 50% CPU 使用率下的运行情况,我们可以一次打开四个实例,依此类推……
我在想:
是什么决定了 CPU 的使用量?它是否只是在单线程应用程序中的单个线程上尽可能快地运行所有内容?
有没有办法自动限制程序可以使用的最大 CPU 使用率?我可以想到一些“草率”的方法(添加睡眠命令或其他东西),但是有没有办法限制说,可用CPU的某些指定百分比或其他东西?
CPU 配额开启Windows 7的 http://technet.microsoft.com/en-us/library/ff384148.aspx and on Linux http://cpulimit.sourceforge.net/.
Also on QNX(即黑莓平板电脑操作系统) http://support7.qnx.com/download/download/17458/433.62_adaptive_partitioning.pdf and 林努克斯工厂 http://www.lynuxworks.com/products/whitepapers/partition.php
如果链接损坏,文章的名称为:
- Windows --“Windows Server 2008 R2 和 Windows 7 中的 CPU 速率限制”
- Linux——“Linux 的 CPU 使用限制器”
- QNX——“自适应分区”
- LynuxWorks - “操作系统分区”和“ARINC 653”
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)