system management
1752631 メンバー
5758 オンライン
108788 解決策
新規ポスト

メモリ使用率の監視について

 
henoheno
新しいメンバー

メモリ使用率の監視について

リソース監視を検討しています。

メモリの使用率も監視対象とすべきか悩んでいます。

と、言うのも、vmstat等のメモリ使用率には、OSが再利用する可能性の少ないリード系のメモリも蓄積しているため、正確な値が確認できないと思っています。

これらのリード系のキャッシュ的な扱いのデータは、実際にメモリが不足した場合には、一瞬でパージされるため利用率としてカウントして欲しく無いところですが、計算に入れてしまう聞いた事があります。

そう考えると、スワップアウトかページアウトの監視だけを行えば良いように感じます。

この辺りのメモリ管理のロジックの詳細を記述したドキュメントをご存知の方はいらっしゃいませんでしょうか?

また、みなさんは、どのようにしてメモリを監視・管理されていますか?

宜しくお願い致します。
2件の返信2
nadachi
レギュラーアドバイザー

メモリ使用率の監視について

 おっしゃるとおり、メモリ管理は動的で、何を

監視するか難しいですね。

 "HP-UX メモリ"をキーワードにを行うと、

"HP-UXメモリ管理 ホワイトペーパー バージョン 1.4"

というのが見つかりました。かなり細かく書いてあります。

 

 "メモリが少ない状況" を検出するのに、vmstat

の出力を使うとすれば、

-- free が少ない

-- pi (page-in), po (page-out)が多い

-- fr が多い。

が、平時よりも長く続き、かつ、

sar -d

で、スワップデバイスとして使われているdiskの

I/Oが、平時よりも多い。

かなあ。

 これこれの値以下(または以上)が危ない、といった"絶対値" ではなく、"アプリケーションプログラム

のパフォーマンスが低下していない状況" を"平時"と

した値との比較がよいと思います。
hazelwood
信頼あるコントリビューター

メモリ使用率の監視について

UNIX系のOSでは、アクセス頻度が低いメモリページを開放しますので、必ずしもリード系のメモリが開放されるとは限りません。(リード系でもメモリロックされている場合も考えられますし。)

したがって、リード系もカウントするのが安全だと思います。

大まかな指標としては、swap out, page outの量で判断すればいいと思います。

(page inはプロセス起動でもカウントされるので、必ずしもメモリ不足を示しません。)

瞬間的に跳ね上がった場合はあまり気にする必要はありませんが、継続するようならメモリ不足と思います。