の一般的な概念は理解しています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 &
サーバーまたはコンピュータがメモリ不足の状況になると、beginが使用されます。