在Ubuntu中人为修改服务器负载

时间:2012-03-14 00:41:06

标签: linux ubuntu load

我很好奇是否有可能人为地修改Ubuntu或更常见的Linux中的服务器负载。我正在研究一个对服务器负载做出反应的应用程序,为了测试它,如果我可以轻松地改变服务器负载,那就太好了。

我目前正在运行一个过度活跃的程序,它会逐渐产生负载,但我宁愿不要让笔记本电脑继续过热(它变热了!)。

5 个答案:

答案 0 :(得分:6)

关于Linux(或Unix)系统最重要的事情之一是,一切都只是一个文件。由于您只是在阅读/proc/loadavg,因此最简单的方法是让您完成所需的工作,只需创建一个文本文件,其中包含您在运行cat /proc/loadavg时会看到的一行文本。然后让您的程序从您创建的文件而不是/proc/loadavg中读取,并且它将更加明智。如果您想在不同的“人为”情况下进行测试,只需更改此文件中的文本并保存即可。测试完成后,只需将程序更改为从/proc/loadavg读取,您就可以确定它将按预期工作。

注意,您可以在主目录,程序目录中的任何位置将此文本文件设置为您想要的任何位置。但是,您不应该在/proc中进行此操作。该目录是为系统对象保留的。

答案 1 :(得分:3)

您可以使用stress命令,请参阅http://weather.ou.edu/~apw/projects/stress/

  

对计算机系统施加负荷并对其进行压力测试的工具

sudo apt-get install stress

为避免CPU热,可以安装具有较小CPU容量的虚拟机。 virtualbox和qemu-kvm是免费的。

答案 2 :(得分:2)

使用chroot以指定目录作为根目录运行您正在测试的各种软件。设置相对于新根目录的制造/修改/ proc / loadavg。

chroot将允许您创建显示的虚拟文件,以将/ proc / loadavg作为其路径,因此即使您无法更改,软件也会观察您的制造值用于在不同位置查找负载数据的代码。

答案 3 :(得分:0)

由于你不想实际/字面强调机器,stress之类的东西不是你想要的。

如上所述,/ proc / loadavg将成为set system load averages(虚假负载)的地方。

但如果那也不是你所追求的东西,我绝对会建议

getloadavg

watchdog

甚至可能Munin plugins

答案 4 :(得分:0)

有两种方法。

黑客/ proc / loadavg

  • 机器没有过载
  • 您的程序从文件中读取加载值

Todo:黑客Linux报告虚假负载值

修改你的prg

  • 机器没有过载
  • 您的程序从文件中读取加载值

Todo:更改prg中的4个字符:将 / proc / loadavg 替换为 / tmp / loadavg

你现在可以决定。计算成本;)