OpenVZ privvmpages

privvmpagesパラメータで、アプリケーションで割り当てらるメモリ容量を制御します。privvmpagesの値を低く設定していると、「Cannot allocate memory」に見舞われます。

このパラメータは結構重要ですね。メモリの割り当ては2通りの方法があります。
■ /etc/vz/conf/__CTID__ .conf の「PRIVVMPAGES」の値を編集する。
■ vzctlコマンドで設定する。

ここでは、vzctlで設定する方法を記します。
vzctl set <__CTID__> –privvmpages $((256 * 割り当てるメモリの最大容量)) –save
例)__CTID__ 101に1GBのメモリを割り当てる。
# vzctl set 101 –privvmpages $((256 * 1024)) –save
UB limits were set successefully
Saved parameters for VE 101
メモリ割り当ての失敗数(failcnt)を減らすために、バリア(barrier)< リミット(limit)の値を設定した方がよいでしょう。※ failcntはリソースのリミットを超えた時にカウントされます。

バリアとリミットを同時に設定するには以下のように行ないます。
# vzctl set 101 –privvmpages $((256 * 1024)):$((256 * 1126)) –save
コンテナを再起動すると設定が反映されます。

通常、メモリの状態をチェックする場合、freeコマンド等を利用しますが、コンテナ内のメモリの空き容量をチェックするには、以下のコマンドでチェックするのがいいようです。
# grep privvmpages /proc/user_beancounters | awk ‘{ print int(($4-$2)*4/1024) }’
※ コンテ内で実行

関連記事一覧

  1. この記事へのコメントはありません。