在性能测试期间限制RAM使用

时间:2011-03-05 15:50:16

标签: io linux-kernel memory-management swap

我必须运行一些性能测试,看看当系统耗尽RAM并且系统开始抖动时我的程序如何工作。理想情况下,我可以更改系统使用的RAM量。

我试过在单用户模式下使用有限数量的物理内存启动我的系统(运行Ubuntu 10.10),但是使用我使用的参数(max_addr = 300M,max_addr = 314572800或mem = 300M)系统做了不要使用我的交换分区。

有没有办法限制整个系统使用的RAM量,同时仍然使用交换空间?

重点是测量每个程序的总运行时间作为输入大小的函数。我并不想查明性能问题,我试图比较算法,这意味着我需要准确性。

1 个答案:

答案 0 :(得分:0)

写一个简单的c程序

  • 会分配大量内存。
  • 继续随机访问已分配的内存以尝试保留在主内存中(在无限循环中)。

现在运行此程序(一个或几个进程),以便您分配足够的内存来导致正在测试的进程的颠簸。