テスト用にRHELでスワップ領域を0に設定

テスト用にRHELでスワップ領域を0に設定

私はswappinessを100に変更し、malloc()コードを使用して私のrhelシステムでswappiを0に設定しようとしましたが、役に立たないようです。システムメモリの割り当ては次のとおりです。

-bash-4.1$ cat /proc/meminfo
 MemTotal:       15331636 kB
 MemFree:        14552168 kB
 SwapTotal:      15826924 kB
 SwapFree:       15657580 kB

mallocプログラムはカーネルが終了する前に何千回も繰り返し実行しました。ただし、カーネルログファイルには明示的な「プロセス終了」やその他の内容は表示されません。

dmesgこのコードスニペットを実行したら、次のコマンドを使用してステータスを見つけます。

#include <stdlib.h>
#include <stdio.h>
#include <string.h>

 int main(int argc, char** argv) {
int max = -1;
int mb = 0;
char* buffer;

if(argc > 1)
    max = atoi(argv[1]);

while((buffer=malloc(1024*1024*1024)) != NULL && mb != max) {
    memset(buffer, 0, 1024*1024);
    mb++;
    printf("Allocated %d MB\n", mb);
}
return 0;
}

スワップを非常に低い値またはゼロに設定するより良い方法はありますか?

ベストアンサー1

次のコマンド(rootとして実行)は、すべてのスワップスペースを無効にし、スワップスペース内のすべてを無効にする前に物理RAMに移動します。ただし、交換しない場合よりも多くのメモリが必要になると、カーネル自体がプロセスを終了することから本格的なカーネルパニックまで、さまざまな問題に直面する可能性があるので注意してください。

swapoff

おすすめ記事