4.2. システムでユーザーがピニング (固定) できるメモリーの量を増やす

Remote Direct Memory Access (RDMA) の操作には、物理メモリーのピニングが必要です。これにより、カーネルがスワップ領域にメモリーを書き込むことができなくなります。ユーザーがメモリーを過剰に固定すると、システムのメモリーが不足し、カーネルがプロセスを終了してより多くのメモリーを解放することがあります。したがって、メモリーのピニングは特権が必要な操作です。

root 以外のユーザーが大規模な RDMA アプリケーションを実行する必要がある場合は、プライマリーメモリー内のページを常にピニングしておくために、メモリーの量を増やす必要があります。

手順

  • root ユーザーで、/etc/security/limits.conf ファイルを以下の内容で作成します。

    @rdma soft memlock unlimited
    @rdma hard memlock unlimited

検証

  1. /etc/security/limits.conf ファイルの編集後、rdma グループのメンバーとしてログインします。

    Red Hat Enterprise Linux は、ユーザーのログイン時に、更新された ulimit の設定を適用することに注意してください。

  2. ulimit -l コマンドを使用して制限を表示します。

    $ ulimit -l
    unlimited

    コマンドが unlimited を返す場合、ユーザーはメモリーのピニングを無制限に行うことができます。

関連情報

  • limits.conf(5) man ページ