我正在做一个关于使 Linux 适应可扩展的多核架构的项目。我正在使用基准测试 Linux 的性能。当我在系统中运行基准测试时,系统中正在运行其他程序(例如后台进程)。我认为后台进程造成的系统负载不是固定的,因此基准测试的执行时间可能会因系统负载的变化而变化。那么如何统一执行benchmark呢。我已经在网上搜索并向研究人员询问了这个问题,但还没有找到这个问题的解决方案。如果可能的话请尝试帮助我。
答案1
看一眼lmbench源代码。是的,我知道它已经很旧了。尽管如此,lmbench 基准测试还是付出了很大的努力来消除系统负载影响。一些基准测试会进行多次计算,并执行诸如选择最低计时值之类的操作。这将使这些基准获得最大的性能值。其他基准测试在进行任何计时之前都会“警告缓存”。我相信您可以从 lmbench 中学到很多东西。
答案2
只要您应用一些常识(例如,禁用计划任务并且在进行测试时不要上网)并且您所计时的时间并非完全无关紧要,基准测试将均匀地出现 - 尝试一下。
如果您运行测试 50 或 100 次并发现许多无法解释的差异,那么您就有问题而不需要解决方案。如果没有,那么你就不会。普通的 Linux 单用户桌面系统不会做超出您告诉它的事情。