[Armadillo:04911] Re: 連続運用に残メモリ監視が必要でしょうか

SAITOH Akinori email@hidden
2010年 1月 23日 (土) 18:09:27 JST


齊藤と申します

(2010/01/22 18:52), 小谷 wrote:
> 220で連続運用試験をしております。意図的に別プロセスで圧迫して
> 残り1000ブロックを切ったあたりからあまり減らなくなったように見えるのですが、
> カーネルが開放を始める閾値のようなものがわかりますと助かります。

> ユーザーアプリのリークはないことがはっきりしていますので、
> 監視を止めるか、カーネルが開放を始める値の下に閾値を設けたいと考えていま
> す。

freeメモリブロック監視をやめたほうがいいのでは?。監視するならfree
メモリブロックではなく他のものがよいかと。the amount of virtual memory
used. とか。

あくまでも今時の仮想記憶OSの一般論ですが、
メモリ需要が急激に発生すると、一旦フリーメモリブロック数が
ゼロになるからです。メモリ需要がおちつくとまた一定量の
freeブロックができます。
使用中のメモリ領域をフリーエリアに転換する処理速度よりも高頻度に
メモリ需要が生じた場合に起こります。


たとえば、OOM kikkerの対象となる犠牲者プロセスと監視プロセスを
一つづつ起動しておき、犠牲プロセスが殺されたらシステムを
リブートする、ってのはどうでしょうか?

echo 優先度 > /proc/PID/oom_adj

でOOMkillerに殺される優先度を変えられますので。

-- 
	齊藤明紀 email@hidden



armadillo メーリングリストの案内