PostgreSQLスキルアップノート(自己啓発のための個人サイト)

PostgreSQL用カーネル関連の設定(Linux)「Linuxのメモリオーバーコミット」


【一覧に戻る】


━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■■■■ PostgreSQL スキルアップノート
■■■■
■◆■■ PostgreSQL用カーネル関連の設定(Linux)「Linuxのメモリオーバーコミット」
■■■■
■■■■
■■■■ 2013/01/20
■■■■ 使用環境: (CentOS6.2)
                                                                   (C) 2013 ohdb
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

【マニュアル】

カーネル関連の設定→●[マニュアル]


マニュアルに記載されているカーネルリソース関連と本書対象

・共有メモリ/セマフォ    
・リソースの制限                   
・ Linuxのメモリオーバーコミット ★←本ページ対象


■1■  メモリオーバーコミットの抑止
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

「17.4. カーネルリソース」の管理の「17.4.3. Linuxのメモリオーバーコミット」
の部分に記載されている内容の要約

いわゆる「OOM−Killer」によってメモリ枯渇時に大事なプロセスを殺される
問題への対処で、メモリを"オーバーコミット"させないようにカーネルの動作を変更する。
OOM-killerが動作しなくなるわけではないため完全な対策ではない。


以下のカーネルパラメータを設定追加する。


【□】 vi /etc/sysctl.conf

       vm.overcommit_memory = 2 



【参考】その他の方法(こちらの方が確実?)

OOM Killerの優先順位を操作し、殺される対象から除外する。
postmaster起動直前にrootにて 
#echo -1000 > /proc/self/oom_score_adj
-1000の値はカーネルにより異なるため注意。
詳細はPostgreSQLのマニュアル及びOS側を参照



以上 
inserted by FC2 system