我理解 的一般概念swap memory
,但我需要以某種方式建立一個程式來強制使用swap memory
進行效能測試,但我不知道從哪裡開始。
基本上,我將安裝一個flash memory card
將用作 的swap space
,我想測試這樣做如何提高效能。我認為最簡單的方法是製作一個簡單的程序,使用多個執行緒來測試它處理同時運行的多個進程的能力。問題是,我只是不太了解swap
(或從我所讀到的內容中收集到足夠的見解),不知道如何“強制”這些線程使用swap space
.
有人對我如何解決這個問題有一些可靠的建議嗎?我很64-bit linux OS
可能會在Fedora 18
.
答案1
我不知道這是否是更好的方式來歸檔你想做的事情,但我使用了這樣的 C 程式碼
#include <stdio.h>
#include <stdlib.h>
#define MB(size) ( (size) * 1024 * 1024 )
int main(){
char *p;
if((p = (char *)malloc(MB(256))) != NULL){
memset(p, "A", MB(256));
sleep(300);
}
}
gcc -o mhog mhog.c
echo 1 > /proc/sys/vm/overcommit_memory
並以這種方式多次運行 ./mhog
./mhog &
當您的伺服器或電腦出現記憶體不足的情況時,您將看到開始使用