スワップパフォーマンステスト

スワップパフォーマンステスト

の一般的な概念は理解しています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が使用されます。

関連情報