プロフィール

kosaki

Author:kosaki
連絡先はコチラ

ブログ検索
最近の記事
最近のコメント
最近のトラックバック
リンク
カテゴリー
月別アーカイブ
RSSフィード
FC2ブログランキング

スポンサーサイト このエントリーをはてなブックマークに追加

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。


スポンサー広告 | 【--------(--) --:--:--】 | Trackback(-) | Comments(-)

で、結局overommit_memoryのオススメ設定値はいくつなのさ? このエントリーをはてなブックマークに追加

あんまりエントリにするほどの分量はないんだけど、現時点でのオイラのオススメ値を貼っとく

overcommit_memory=2
overcommit_ratio=0
swapパーティションのサイズ: 物理メモリ量x80%

overcommit_ratio=0 にすることで、全プロセスの仮想メモリ量がスワップサイズを超えなくなるので、カーネルによほど負荷をかけないかぎりスワップしなくなる。
んで、スワップを0にしたときと違って、カーネルに負荷をかけるようなスゲー使いかたをしたときでもスワップが発生するだけでOOM-killerは発生しない。

欠点は、ほぼ使わないと想定しているスワップに結構なディスク量をとられることだけである。

あ、あと、80%というのはかなり適当に決めた値なのでシステムによっては90%とかでもいけると思う。


注意1: この設定は組み込みでは全然使えません。なぜならサーバー系みたいに数Gのメモリを積む世界では、glibc mallocやpthreadがアドレス空間予約のために発行するmmap(PROT_NONE)な空間なんてゴミですが、全体メモリが16Mとか32Mの世界ではスタックの1スレッドあたり2Mの予約量がバカに出来ません。
たぶん、組み込みではovercommit_memoryで制御なんて思わないほうが懸命。組み込みなんだから自分でメモリ量ぐらい把握しろ。と(←出来たら苦労しねーよ)

注意2: 上記の設定は/etc/sysctl.confに設定してはいけません
大半のディストリで、sysctl.confの読み込みはswapのmountよりも前に行われるので、OSが起動しなくなります。
rc.localとかlocal.rc とか、すごーく、最後のほうに走るスクリプトがあると思うので、そのへんに
sysctl -w vm.overcommit_memory=2
のように、sysctlコマンドを使って設定するのがオヌヌメ


あと、最後に残された課題は、このほとんど使わないことが確定なスワップ領域をなんとかして、圧縮できないのかって事。
ext3ってファイルの圧縮とか出来ないんだよねー。
むむむ

過去エントリはこちら
Linuxでのovercommit_memory制御の勘所
tmpfsとstrict non-overcommit mode


まあ、結論の歯がゆさにイライラした人は↓でも見て癒されろ


待ちたまえ君たち.jpg
そんな結論でええんかい! ランキング!

関連記事


linux | 【2007-03-04(Sun) 23:28:43】 | Trackback:(0) | Comments:(1)
コメント
このコメントは管理人のみ閲覧できます
2007-10-07 日 01:40:11 | | # [ 編集]
  1. 無料アクセス解析
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。