我有一个 RHEL 框,我需要将其置于适度且可变的量CPU负载(50%-75%)。

最好的方法是什么?是否有一个程序可以做到这一点,我不知道?我很乐意编写一些C代码来实现这一点,我只是不知道系统调用会有什么帮助。

有帮助吗?

解决方案

这正是您所需要的: http://weather.ou.edu/~apw/projects/stress/

从主页: “stress是POSIX系统的简单工作负载生成器。它在系统上施加了可配置的CPU,内存,I / O和磁盘压力。它是用C语言编写的,是根据GPL许可的免费软件。“

其他提示

查找包含源代码的简单素数搜索程序。修改源代码以向主循环添加nanosleep调用,无论哪个延迟都为您提供所需的CPU负载。

在系统上获得一些负载的一种常见方法是一遍又一遍地编译大型软件包。像Linux内核一样。

获取源代码的副本,解压缩tar.bz2,进入顶级源目录,将内核配置从/ boot复制到.config或zcat /proc/config.gz> .config,do make oldconfig,然后是true;做干净&&制作bzImage;完成

如果你有一个SMP系统,那么make -j bzImage很有趣,它会并行生成make任务。

这样做的一个问题是调整CPU负载。除了等待磁盘I / O外,它将是最大CPU负载。

您可以使用Bash脚本执行此操作。使用“ ps -o pcpu | grep -v CPU"获取所有进程的CPU使用率。将所有这些值添加到一起以获取当前使用情况。然后有一个忙碌的while循环,基本上继续检查这些值,计算当前的CPU使用率,并等待计算的时间量,以使处理器保持在一定的阈值。需要更多细节,但希望这将为您提供一个良好的起点。

看一下我找到的 CPU Monitor 脚本,并尝试得到一些关于如何实现这一目标的其他想法。

这取决于你要测试的内容。如果您只是测试CPU负载,那么吃空CPU周期的简单脚本就可以正常工作。我个人不得不最近测试RAID阵列的性能,我依靠Bonnie ++和IOZone。 IOZone将在盒子上放置一个合适的负载,特别是如果你将文件大小设置为高于RAM。

您可能也对这篇文章

使用“不错”的命令。

a)最高优先级: $ nice -n -20 my_command

b)最低优先级: $ nice -n 20 my_command

您可以使用一些负载生成工具来完成此任务,或运行脚本来占用所有CPU周期,然后使用 nice renice ,用于改变流程获得的周期百分比。

以下是一个示例bash脚本,它将占用所有可用的CPU周期:

#!/bin/bash
while true ; do
true
done

Lookbusy启用CPU负载的设定值。 项目网站

lookbusy -c util[-high_util], --cpu-util util[-high_util]

i.e. 60% load
lookbusy -c 60

不确定你的目标是什么。我相信glxgears将使用100%的CPU。

因此,找到您知道的任何进程将CPU最大化为100%。

如果您有四个CPU核心(0 1 2 3),则可以使用“任务集”。绑定此进程以说出CPU 0和1.这应该加载你的盒子50%。要加载它,75%将进程绑定到0 1 2个CPU。

免责声明:尚未对此进行测试。请告诉我们您的结果。即使这样有效,我也不确定你会从中得到什么?

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top