如何在Red Hat Linux机器上设置CPU负载?

时间:2008-09-26 20:18:39

标签: linux load redhat cpu-cycles

我有一个RHEL框,我需要在中等和可变的CPU负载量下(50%-75%)。

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

10 个答案:

答案 0 :(得分:15)

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

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

答案 1 :(得分:2)

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

答案 2 :(得分:1)

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

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

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

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

答案 3 :(得分:1)

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

您可能也对this Article感兴趣。

答案 4 :(得分:1)

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

看看我找到的这个CPU Monitor脚本,并尝试了解如何实现这一目标。

答案 5 :(得分:0)

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

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

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

答案 6 :(得分:0)

使用“nice”命令。

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

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

答案 7 :(得分:0)

一个简单的脚本加载&使用awk锤击CPU。该脚本进行数学计算,因此CPU负载在较高值passwd上达到loadserver.sh。

结帐脚本@ http://unixfoo.blogspot.com/2008/11/linux-cpu-hammer-script.html

答案 8 :(得分:0)

Lookbusy启用CPU负载的设定值。 Project site

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

i.e. 60% load
lookbusy -c 60

答案 9 :(得分:-1)

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

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

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

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