我很好奇是否有可能人为地修改Ubuntu或更常见的Linux中的服务器负载。我正在研究一个对服务器负载做出反应的应用程序,为了测试它,如果我可以轻松地改变服务器负载,那就太好了。
我目前正在运行一个过度活跃的程序,它会逐渐产生负载,但我宁愿不要让笔记本电脑继续过热(它变热了!)。
答案 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(虚假负载)的地方。
但如果那也不是你所追求的东西,我绝对会建议
甚至可能Munin plugins
答案 4 :(得分:0)
有两种方法。
黑客/ proc / loadavg
Todo:黑客Linux报告虚假负载值
修改你的prg
Todo:更改prg中的4个字符:将 / proc / loadavg 替换为 / tmp / loadavg
你现在可以决定。计算成本;)