lotus dominoと物理メモリの関係...

25
© 2008 IBM Corporation ® Lotus Dominoと物理メモリの関係 Windows編~ 200912日本アイ・ビー・エム システムズ・エンジニアリング株式会社 ソフトウェア基盤技術 ワークプレース

Upload: others

Post on 20-May-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Lotus Dominoと物理メモリの関係 ~Windows編~public.dhe.ibm.com/software/dw/jp/lotus/ldd_tech/2010jan29_nd.pdf · 物理メモリの話をする前に。。。 Windowsのアーキテクチャ

© 2008 IBM Corporation

®

Lotus Dominoとととととと物物物物物物理理理理理理メメメメメメモモモモモモリリリリリリのののののの関関関関関関係係係係係係      ~~~~~~Windows編編編編編編~~~~~~

2009年12月日本アイ・ビー・エム システムズ・エンジニアリング株式会社ソフトウェア基盤技術 ワークプレース

Page 2: Lotus Dominoと物理メモリの関係 ~Windows編~public.dhe.ibm.com/software/dw/jp/lotus/ldd_tech/2010jan29_nd.pdf · 物理メモリの話をする前に。。。 Windowsのアーキテクチャ

IBM Software Group | Lotus software

特特特特特特記記記記記記事事事事事事項項項項項項

本資料の記載内容は、正式な IBM のテストやレビューを受けておりません。内容について、できる限り正確を期すよう努めてはおりますが、いかなる明示または暗黙の保証も責任も負いかねます。本資料の情報は、使用先の責任において使用されるべきものであることを、あらかじめご了承ください。

掲載情報は不定期に変更されることもあります。他のメディア等に無断で転載する事はご遠慮ください。

本資料の著作権は日本アイ・ビー・エムにあります。非営利目的の個人利用の場合において、自由に使用してもかまいませんが、営利目的の使用は禁止させていただきます。

IBM, AIX, Lotus, Lotus Notes, Lotus Domino, は International Business Machines Corporationの米国およびその他の国における商標。その他、記載された社名および製品名は、それぞれ各社の商標または登録商標です。

Page 3: Lotus Dominoと物理メモリの関係 ~Windows編~public.dhe.ibm.com/software/dw/jp/lotus/ldd_tech/2010jan29_nd.pdf · 物理メモリの話をする前に。。。 Windowsのアーキテクチャ

IBM Software Group | Lotus software

イイイイイインンンンンントトトトトトロロロロロロ::::::      DDDDDDoooooommmmmmiiiiiinnnnnnooooooととととととメメメメメメモモモモモモリリリリリリのののののの関関関関関関連連連連連連ででででででよよよよよよくくくくくくあああああありりりりりりががががががちちちちちちなななななな話話話話話話

ある企業での上司と部下の会話

– 上司:Dominoって333333222222bbbbbbiiiiiittttttだから、最大で444444GGGGGGBBBBBBのメモリを使うんだよね?

– 部下:確かDominoサーバー全体で222222GGGGGGBBBBBBって聞いたことがありますけど

– 上司:あっ、そうなの? うちのWindows 2003サーバーは444444GGGGGGBBBBBBのメモリを搭載してるけど、空きメモリが222222GGGGGGBBBBBBもあるのが何故なのか気になってね。

– 部下:でも、Windowsに詳しい人に聞いた限りでは、Windowsカーネルも 222222GGGGGGBBBBBB 使用するはずなので、222222GGGGGGBBBBBBの空きはおかしいですね。Windows ごと再起動したほうが良いですね。

ほとんどの誤解の原因は、Dominoからの説明とWindowsからの説明で共通に使われている「メモリ」という単語の認識が異なっているから

部分的に正しいことを言っているものの、全体としては間違っている

Page 4: Lotus Dominoと物理メモリの関係 ~Windows編~public.dhe.ibm.com/software/dw/jp/lotus/ldd_tech/2010jan29_nd.pdf · 物理メモリの話をする前に。。。 Windowsのアーキテクチャ

IBM Software Group | Lotus software

アアアアアアジジジジジジェェェェェェンンンンンンダダダダダダ::::::      概概概概概概念念念念念念的的的的的的ににににににごごごごごご理理理理理理解解解解解解いいいいいいたたたたたただだだだだだくくくくくくたたたたたためめめめめめのののののの基基基基基基本本本本本本スススススストトトトトトーーーーーーリリリリリリーーーーーー

32ビット Windows OS上で稼動する 32ビット Lotus Domino を基本として、左の順序でご説明します。

特に前半は仮想的なお話です。物理メモリを意識しないでください。

概念的にご理解いただくことを目的としているため、基本ストーリーに関係のない部分の詳細な説明は含まれておりません。

– Domino内部のメモリ管理の仕組み

– スレッドの概念とスタック

– チューニング

– Windows メモリ管理の仕組み

仮想アドレス空間

仮想メモリ

物理メモリ

Page 5: Lotus Dominoと物理メモリの関係 ~Windows編~public.dhe.ibm.com/software/dw/jp/lotus/ldd_tech/2010jan29_nd.pdf · 物理メモリの話をする前に。。。 Windowsのアーキテクチャ

IBM Software Group | Lotus software

Windowsカ ー ネ ル

WWWWWWiiiiiinnnnnnddddddoooooowwwwwwssssss 333333222222bbbbbbiiiiiittttttププププププロロロロロロググググググララララララムムムムムムのののののの仮仮仮仮仮仮想想想想想想アアアアアアドドドドドドレレレレレレスススススス空空空空空空間間間間間間

全プラットフォーム共通で「 32bitプログラムの仮想アドレス空間は4GB( 2の32乗)」

Windows 32bitプラットフォームでは、4GBの空間のうち半分の 2GB が Windowsカーネル用に予約されている(「カーネルアドレススペース」と呼ばれる)

各プログラムが自由に使える空間は、2GB に制約される(「ユーザーアドレススペース」と呼ばれる)

– 2GBという大きな枠が用意されている2GB

仮想アドレス空間は、領域として用意されているだけで、実際の使用量を示すものではありません

仮想アドレス空間

自由に

使える

空間

2GB

Page 6: Lotus Dominoと物理メモリの関係 ~Windows編~public.dhe.ibm.com/software/dw/jp/lotus/ldd_tech/2010jan29_nd.pdf · 物理メモリの話をする前に。。。 Windowsのアーキテクチャ

IBM Software Group | Lotus software

LLLLLLoooooottttttuuuuuussssss DDDDDDoooooommmmmmiiiiiinnnnnnoooooo 333333222222bbbbbbiiiiiittttttププププププロロロロロロググググググララララララムムムムムムのののののの仮仮仮仮仮仮想想想想想想アアアアアアドドドドドドレレレレレレスススススス空空空空空空間間間間間間

Lotus Dominoも Windows 32bitアプリケーションとしての制約が当てはめられる

– 各種のメモリ領域をどの位置に割り当てるかは OS が判断する

Dominoが一時的なバッファとして利用するメモリ領域も、2GBの中に割り当てられる

– プライベート・メモリ

– 共有メモリ

2GB という大きな枠をどのように使わせるかが重要!

ユーザーアドレススペース

2.0GB

これは「Dominoサーバー全体」でのお話ではなくDominoサーバーの「各各各各各各タタタタタタススススススクククククク」に適用されます

仮想アドレス空間

プログラム本体

ププププププラララララライイイイイイベベベベベベーーーーーートトトトトト・メモリ・メモリ・メモリ・メモリ・メモリ・メモリ

共有メモリ共有メモリ共有メモリ共有メモリ共有メモリ共有メモリ

スレッドスタック

実行ライブラリ(DLL)

Windowsカーネル

Page 7: Lotus Dominoと物理メモリの関係 ~Windows編~public.dhe.ibm.com/software/dw/jp/lotus/ldd_tech/2010jan29_nd.pdf · 物理メモリの話をする前に。。。 Windowsのアーキテクチャ

IBM Software Group | Lotus software

例例例例例例))))))「「「「「「nnnnnnsssssseeeeeerrrrrrvvvvvveeeeeerrrrrr......eeeeeexxxxxxeeeeee」」」」」」のののののの仮仮仮仮仮仮想想想想想想アアアアアアドドドドドドレレレレレレスススススス空空空空空空間間間間間間

プログラム関係

– 「プログラム本体」の中身は、「C:\Lotus\Domino\nserver.exe」 ファイルそのもの

– 「実行ライブラリ」の中身は、「C:\Lotus\Domino\nlnotes.dll」といった実行ライブラリファイル群そのものやデータ

バッファー関係

– 「プライベート・メモリ」空間は、Serverタスクが自由に使える領域

– 「共有メモリ空間」は、Serverタスクだけでなく、Dominoサーバーの他のタスクを含むDominoサーバー全体で同じ情報を共有するための領域

仮想アドレス空間

ユーザーアドレススペース

2.0GB

nserver.exe

プライベート・メモリプライベート・メモリプライベート・メモリプライベート・メモリプライベート・メモリプライベート・メモリ

共共共共共共有有有有有有メモメモメモメモメモメモリリリリリリ

Serverスレッドスタック

Serverスレッドスタック

実行ライブラリ(DLL)

Windowsカーネル

Page 8: Lotus Dominoと物理メモリの関係 ~Windows編~public.dhe.ibm.com/software/dw/jp/lotus/ldd_tech/2010jan29_nd.pdf · 物理メモリの話をする前に。。。 Windowsのアーキテクチャ

IBM Software Group | Lotus software

LLLLLLoooooottttttuuuuuussssss DDDDDDoooooommmmmmiiiiiinnnnnnooooooププププププロロロロロロググググググララララララムムムムムムのののののの仮仮仮仮仮仮想想想想想想メメメメメメモモモモモモリリリリリリ使使使使使使用用用用用用量量量量量量のののののの概概概概概概念念念念念念

同じ共有メモリ空間の使用量と各タスクごとに異なる空間の使用量の合計

仮想アドレス空間

仮想メモリ

・・・

nserver.exe nrouter.exe nhttp.exe

プライベート・メモリプライベート・メモリプライベート・メモリプライベート・メモリプライベート・メモリプライベート・メモリプライベート・メモリプライベート・メモリプライベート・メモリプライベート・メモリプライベート・メモリプライベート・メモリ

共共共共共共有メ有メ有メ有メ有メ有メモリモリモリモリモリモリ 共有メモリ共有メモリ共有メモリ共有メモリ共有メモリ共有メモリ 共有メモリ共有メモリ共有メモリ共有メモリ共有メモリ共有メモリ

・・・

プライベート・メモリプライベート・メモリプライベート・メモリプライベート・メモリプライベート・メモリプライベート・メモリ

プラプラプラプラプラプライイイイイイベートベートベートベートベートベート・・・・・・メモリメモリメモリメモリメモリメモリ

プライベート・メモリプライベート・メモリプライベート・メモリプライベート・メモリプライベート・メモリプライベート・メモリ

Serverタスク Routerタスク HTTPタスク

ServerスレッドスタックHTTPスレッドスタックRouterスレッドスタック

Serverスレッドスタック HTTPスレッドスタック

実行ライブラリ(DLL) 実行ライブラリ(DLL) 実行ライブラリ(DLL)

Windowsカーネル Windowsカーネル Windowsカーネル

Page 9: Lotus Dominoと物理メモリの関係 ~Windows編~public.dhe.ibm.com/software/dw/jp/lotus/ldd_tech/2010jan29_nd.pdf · 物理メモリの話をする前に。。。 Windowsのアーキテクチャ

IBM Software Group | Lotus software

LLLLLLoooooottttttuuuuuussssss DDDDDDoooooommmmmmiiiiiinnnnnnooooooププププププロロロロロロググググググララララララムムムムムムでででででで使使使使使使用用用用用用すすすすすするるるるるる仮仮仮仮仮仮想想想想想想メメメメメメモモモモモモリリリリリリ量量量量量量のののののの概概概概概概算算算算算算

プライベート・メモリ

– 各Dominoサーバータスクごとに独自のバッファ領域を利用

– 各タスクの処理内容や負荷によって異なるものの おおよそ100MB 程度

• ServerやHTTPなど、クライアント接続処理を行うタスクは、スレッド数や送受信されるデータ量などに依存して、使用量が大きくなる傾向にある

– 統計情報「MEM.Allocated.Process」によって全タスクの合計値がおおよそ確認できる

共有メモリ

– Dominoサーバー全体(全タスク)で共有するバッファ領域で、おおよそ1GB

• その中でも UBM(NSF_Buffer_Pool)が半分程度を占めている

– 統計情報「MEM.Allocated.Shared」によっておおよそ確認できる

「サーバー全体ではおよそ2GBの仮仮仮仮仮仮想想想想想想メモリを消費する」は間違いではない計算式: プライベート・メモリの全タスク合計 + 共有メモリ 1GB

仮想メモリ

Page 10: Lotus Dominoと物理メモリの関係 ~Windows編~public.dhe.ibm.com/software/dw/jp/lotus/ldd_tech/2010jan29_nd.pdf · 物理メモリの話をする前に。。。 Windowsのアーキテクチャ

IBM Software Group | Lotus software

各各各各各各タタタタタタススススススククククククののののののププププププラララララライイイイイイベベベベベベーーーーーートトトトトト・・・・・・メメメメメメモモモモモモリリリリリリ使使使使使使用用用用用用量量量量量量のののののの例例例例例例仮想メモリ

nServer

nRouter

nReplica

nAmgr

nCldbdir

nclrepl

nSched

nCalConn

nRnRMgr

nAdminp

nEvent

nCollect

0

20

40

60

80

100

120

140

160

180あるサーバーでのタスクごとのプライベートメモリ使用量

仮想メモリ使用量(

MB)

Page 11: Lotus Dominoと物理メモリの関係 ~Windows編~public.dhe.ibm.com/software/dw/jp/lotus/ldd_tech/2010jan29_nd.pdf · 物理メモリの話をする前に。。。 Windowsのアーキテクチャ

IBM Software Group | Lotus software

皆皆皆皆皆皆ささささささんんんんんんのののののの LLLLLLoooooottttttuuuuuussssss DDDDDDoooooommmmmmiiiiiinnnnnnoooooo はははははは仮仮仮仮仮仮想想想想想想メメメメメメモモモモモモリリリリリリ過過過過過過食食食食食食症症症症症症ででででででははははははあああああありりりりりりまままままませせせせせせんんんんんんかかかかかか??????

まずはメモリ関連の統計情報を確認しましょう!

– 特に「MEM.Allocated」の数字が 2GB を超えている場合は要注意!

• いずれかのDominoタスクの、仮想メモリサイズが上限に近づいている可能性あり

そして、UBM の最大サイズとキャッシュヒット率も確認しましょう!

– UBMの最大サイズは「Database.Database.BufferPool.Peak.Megabytes」

– キャッシュヒット率は「Database.Database.BufferPool.PerCentReadsInBuffer」

より「スリム」な Lotus Domino のために、UBM をチューニングしましょう!

– 現在の UBM の推奨サイズは 512 ~ 750 MB

– UBMのキャッシュヒット率は 90% 前後が程よい

– NOTES.INIパラメータ「NSF_Buffer_Pool_Size_MB」を処方

Page 12: Lotus Dominoと物理メモリの関係 ~Windows編~public.dhe.ibm.com/software/dw/jp/lotus/ldd_tech/2010jan29_nd.pdf · 物理メモリの話をする前に。。。 Windowsのアーキテクチャ

IBM Software Group | Lotus software

LLLLLLoooooottttttuuuuuussssss DDDDDDoooooommmmmmiiiiiinnnnnnooooooでででででで出出出出出出力力力力力力さささささされれれれれれるるるるるるメメメメメメモモモモモモリリリリリリ関関関関関関連連連連連連ののののののエエエエエエララララララーーーーーー

よく見かけるメッセージ

• 「サーバーエラー: メモリが不足しています」

• 「HTTP Web Server: 例外 - メモリが不足しています」

エラーが出ても稼動し続ける場合は「仮想メモリ」の中で起きている

– 「プライベート・メモリ」と「共有メモリ」、どちらのケースもあります

– 「プライベート・メモリ」が不足している場合、Windows 32ビット版では、「NSF_Buffer_Pool_Size_MB」の設定により「共有メモリ」使用量を小さくすることは効果があります!

クラッシュする場合はDominoのソフトウェア障害の可能性が高い

いずれにしても、Dominoが「メモリ不足」と言っても「物理メモリの不足」を検出しているわけではありません

仮想メモリ

Page 13: Lotus Dominoと物理メモリの関係 ~Windows編~public.dhe.ibm.com/software/dw/jp/lotus/ldd_tech/2010jan29_nd.pdf · 物理メモリの話をする前に。。。 Windowsのアーキテクチャ

IBM Software Group | Lotus software

((((((余余余余余余談談談談談談でででででですすすすすすがががががが①①①①①①)))))) WWWWWWiiiiiinnnnnnddddddoooooowwwwwwssssss のののののの //////333333GGGGGGBBBBBB ススススススイイイイイイッッッッッッチチチチチチににににににつつつつつついいいいいいてててててて

ユーザーアドレススペースを 2GB から 3GB に拡張することができる

– Lotus Domino は 7.0.1 以降でこの拡張に対応済み

逆にカーネルアドレススペースが 2GB から 1GB に縮小される

– ファイルキャッシュを含む Windowsカーネルメモリが少なくなる

• 10% 程度の CPU 使用率が増加によるパフォーマンス低下の可能性がある

– NSFファイルを複数同時に処理する Lotus Domino の稼動プラットフォームとしては逆効果になる可能性が高い

通常時

ユーザープログラム

ユーザープログラム

/3GB スイッチ利用時

WindowsカーネルWindowsカーネル

2GB

2GB

3GB

1GB

Page 14: Lotus Dominoと物理メモリの関係 ~Windows編~public.dhe.ibm.com/software/dw/jp/lotus/ldd_tech/2010jan29_nd.pdf · 物理メモリの話をする前に。。。 Windowsのアーキテクチャ

IBM Software Group | Lotus software

((((((余余余余余余談談談談談談でででででですすすすすすがががががが②②②②②②)))))) WWWWWWiiiiiinnnnnnddddddoooooowwwwwwssssss xxxxxx666666444444 EEEEEEddddddiiiiiittttttiiiiiioooooonnnnnnででででででのののののの 333333222222bbbbbbiiiiiitttttt LLLLLLoooooottttttuuuuuussssss DDDDDDoooooommmmmmiiiiiinnnnnnoooooo

Lotus Domino 7.0.1 以降で Windows x64 Edition での稼動をサポート

– Lotus Sametime や Lotus Quickr などのコンパニオン製品は現在サポートされていません

この場合、ユーザーアドレススペースは 4GB に自動的に拡張

– 正確には、前ページの /3GB スイッチに対応したプログラムに適用されます

– ウィルス対策ソフトなどのアドオン製品を利用する場合は、アドオン製品も対応していることが必要です

2GB の仮想アドレス空間の制約によるメモリ不足が顕著な場合は前ページの /3GB スイッチの利用を検討するのではなく

Windows x64 Edition プラットフォームへの移行をご検討ください

Page 15: Lotus Dominoと物理メモリの関係 ~Windows編~public.dhe.ibm.com/software/dw/jp/lotus/ldd_tech/2010jan29_nd.pdf · 物理メモリの話をする前に。。。 Windowsのアーキテクチャ

IBM Software Group | Lotus software

物物物物物物理理理理理理メメメメメメモモモモモモリリリリリリのののののの話話話話話話ををををををすすすすすするるるるるる前前前前前前にににににに。。。。。。。。。。。。。。。。。。      WWWWWWiiiiiinnnnnnddddddoooooowwwwwwssssssののののののアアアアアアーーーーーーキキキキキキテテテテテテククククククチチチチチチャャャャャャ

巷では「Windowsとメモリ」に関する情報があふれていますが。。。

– やはり「メモリ」の意味を誤解しているケースが多いようです。

本セッションでは、以下の書籍をベースに記載しています。

– 「インサイド Windows 第4版」(上下巻)

Page 16: Lotus Dominoと物理メモリの関係 ~Windows編~public.dhe.ibm.com/software/dw/jp/lotus/ldd_tech/2010jan29_nd.pdf · 物理メモリの話をする前に。。。 Windowsのアーキテクチャ

IBM Software Group | Lotus software

LLLLLLoooooottttttuuuuuussssss DDDDDDoooooommmmmmiiiiiinnnnnnooooooがががががが稼稼稼稼稼稼動動動動動動すすすすすするるるるるるWWWWWWiiiiiinnnnnnddddddoooooowwwwwwssssssででででででのののののの仮仮仮仮仮仮想想想想想想メメメメメメモモモモモモリリリリリリ全全全全全全体体体体体体像像像像像像

プログラムだけでなく、読み書きされるファイルも仮想メモリに展開される

システムDB(names等)

メールDBアプリDBメールDBアプリDBメールDBアプリDB

ファイル・システム(Dominoデータ領域として)

OS HTTP Domino 共有 ファイル

Windowsが管理する仮想メモリ全体

仮想メモリ

RouterServer

・・・

nserver.exe nrouter.exe nhttp.exe

プライベート・メモリプライベート・メモリプライベート・メモリプライベート・メモリプライベート・メモリプライベート・メモリプライベート・メモリプライベート・メモリプライベート・メモリプライベート・メモリプライベート・メモリプライベート・メモリ

共有メモリ共有メモリ共有メモリ共有メモリ共有メモリ共有メモリ 共有メモリ共有メモリ共有メモリ共有メモリ共有メモリ共有メモリ 共有メモリ共有メモリ共有メモリ共有メモリ共有メモリ共有メモリ・・・

プライベート・メモリプライベート・メモリプライベート・メモリプライベート・メモリプライベート・メモリプライベート・メモリ

プライベート・メモリプライベート・メモリプライベート・メモリプライベート・メモリプライベート・メモリプライベート・メモリ

プライベート・メモリプライベート・メモリプライベート・メモリプライベート・メモリプライベート・メモリプライベート・メモリ

Serverタスク Routerタスク HTTPタスク

ServerスレッドスタックHTTPスレッドスタックRouterスレッドスタック

Serverスレッドスタック HTTPスレッドスタック

実行ライブラリ(DLL) 実行ライブラリ(DLL) 実行ライブラリ(DLL)

Windowsカーネル Windowsカーネル Windowsカーネル

Page 17: Lotus Dominoと物理メモリの関係 ~Windows編~public.dhe.ibm.com/software/dw/jp/lotus/ldd_tech/2010jan29_nd.pdf · 物理メモリの話をする前に。。。 Windowsのアーキテクチャ

IBM Software Group | Lotus software

WWWWWWiiiiiinnnnnnddddddoooooowwwwwwssssssのののののの仮仮仮仮仮仮想想想想想想メメメメメメモモモモモモリリリリリリ管管管管管管理理理理理理

Windows 仮想メモリ管理(VMM)の特徴

– 記憶域として「物理メモリ」と「ページング・ファイル」とで構成

– 物理メモリを管理する「メモリマネージャ」と、ファイルキャッシュを管理する「キャッシュマネージャ」が密接に連携

VMM

ページング・ファイル

物理メモリ

ファイル

プログラムプログラムプログラム

要求 割当

仮想メモリ

物理メモリ

メモリマネージャ

キャッシュマネージャ

物理メモリにプログラムのメモリ領域を極力配置させ(スワップさせない)さらにファイルキャッシュにも有効利用させることが性能面で望ましい

Page 18: Lotus Dominoと物理メモリの関係 ~Windows編~public.dhe.ibm.com/software/dw/jp/lotus/ldd_tech/2010jan29_nd.pdf · 物理メモリの話をする前に。。。 Windowsのアーキテクチャ

IBM Software Group | Lotus software

WWWWWWiiiiiinnnnnnddddddoooooowwwwwwssssss タタタタタタススススススククククククママママママネネネネネネーーーーーージジジジジジャャャャャャーーーーーーでででででで「「「「「「物物物物物物理理理理理理メメメメメメモモモモモモリリリリリリ」」」」」」をををををを確確確確確確認認認認認認すすすすすするるるるるる

Windows Server 2003 Windows Server 2008

物理メモリ

利用可能:  2,885,152 KBキャッシュ: 3,409,180 KB

キャッシュ済み: 2,434 MB空きメモリ:     0 MB

Page 19: Lotus Dominoと物理メモリの関係 ~Windows編~public.dhe.ibm.com/software/dw/jp/lotus/ldd_tech/2010jan29_nd.pdf · 物理メモリの話をする前に。。。 Windowsのアーキテクチャ

IBM Software Group | Lotus software

「「「「「「利利利利利利用用用用用用可可可可可可能能能能能能」」」」」」とととととと「「「「「「空空空空空空ききききききメメメメメメモモモモモモリリリリリリ」」」」」」のののののの違違違違違違いいいいいいはははははは「「「「「「フフフフフファァァァァァイイイイイイルルルルルルキキキキキキャャャャャャッッッッッッシシシシシシュュュュュュ」」」」」」

アクティブではなくなったファイルのキャッシュ済み領域を含むかどうかの違い

– 「利用可能」の意味を推測する

• 必要な場合にはキャッシュを破棄して、別の用途にその物理メモリ領域を割り当てることが可能という解釈と思われます

– 一般的な概念からすると「空きメモリ ≠ 利用可能」となるのでご注意を

物理メモリ

パフォーマンスモニターでの項目名

パフォーマンスモニターでの説明 Windows Server 2008

Windows Server 2003

利用可能 Memory \ Available Bytes

プロセスへの割り当て、またはシステムの使用にすぐに利用可能な物物物物物物理理理理理理メメメメメメモモモモモモリリリリリリのサイズ。ススススススタタタタタタンンンンンンババババババイイイイイイ((((((キキキキキキャャャャャャッッッッッッシシシシシシュュュュュュ済済済済済済みみみみみみ))))))、空き、ゼロページの領域の合計

有 有

空きメモリ Memory \Free & Zero Page List Bytes

空き、ゼロページに割り当てられた物物物物物物理理理理理理メメメメメメモモモモモモリリリリリリのサイズ。キキキキキキャャャャャャッッッッッッシシシシシシュュュュュュデデデデデデーーーーーータタタタタタはははははは含含含含含含ままままままれれれれれれなななななないいいいいい

有 N/A

Page 20: Lotus Dominoと物理メモリの関係 ~Windows編~public.dhe.ibm.com/software/dw/jp/lotus/ldd_tech/2010jan29_nd.pdf · 物理メモリの話をする前に。。。 Windowsのアーキテクチャ

IBM Software Group | Lotus software

「「「「「「フフフフフファァァァァァイイイイイイルルルルルルキキキキキキャャャャャャッッッッッッシシシシシシュュュュュュ」」」」」」はははははは物物物物物物理理理理理理メメメメメメモモモモモモリリリリリリのののののの大大大大大大半半半半半半をををををを占占占占占占めめめめめめるるるるるる

ファイルキャッシュの物理メモリ使用量には上限が無い

– アクティブなファイルキャッシュ容量としては、仮想メモリ空間のカーネルアドレススペースの中で上限が決まっている

– アクティブでなくなったファイルキャッシュは、カーネルアドレススペースからは削除されるものの、物理メモリからすぐには削除されない

• 「スタンバイ」という状態として、タスクマネージャー上の「キャッシュ」「利用可能」のどちらにもカウントされる

– そのため、タスクマネージャーなどで表示される「物理メモリのキャッシュ量」は物理メモリの大半を占めることがありうる

物理メモリ

仮想メモリ上限(カーネルアドレススペース内)

物理メモリ上限

Windows Server 2003 32ビット 960MB なし

Windows Server 2003 64ビット 111111TTTTTTBBBBBB なし

※ 64ビット版ではキャッシュ使用量によりパフォーマンス低下の恐れあり(参考資料を参照)

Page 21: Lotus Dominoと物理メモリの関係 ~Windows編~public.dhe.ibm.com/software/dw/jp/lotus/ldd_tech/2010jan29_nd.pdf · 物理メモリの話をする前に。。。 Windowsのアーキテクチャ

IBM Software Group | Lotus software

WWWWWWiiiiiinnnnnnddddddoooooowwwwwwssssss版版版版版版 LLLLLLoooooottttttuuuuuussssss DDDDDDoooooommmmmmiiiiiinnnnnnoooooo とととととと物物物物物物理理理理理理メメメメメメモモモモモモリリリリリリ量量量量量量のののののの考考考考考考ええええええ方方方方方方

Lotus Domino の全プログラムが使用するメモリ量として

– 仮想メモリとして Lotus Domino 全体でおよそ 2GB

– この意味で物理メモリ量は Domino パーティションあたり 2GB

Windows ファイルキャッシュが使用するメモリ量として

– Windows Server 32ビット版で、およそ 1GB

– Lotus Domino では数多くの NSF ファイルを扱うために ファイルキャッシュが多いほうが良い

その他にも Windows カーネルが使用するメモリ量も

物理メモリ

ある程度の規模で、メールサーバーやアプリサーバーといった役割の Lotus Dominoの稼働環境としては 4GB の物理メモリ搭載が望ましい

Page 22: Lotus Dominoと物理メモリの関係 ~Windows編~public.dhe.ibm.com/software/dw/jp/lotus/ldd_tech/2010jan29_nd.pdf · 物理メモリの話をする前に。。。 Windowsのアーキテクチャ

IBM Software Group | Lotus software

ままままままととととととめめめめめめ

Windows版 Lotus Domino は、Windows の「仮想」メモリ管理の仕組みの中で実行される

– 32ビット版では、ユーザーアドレススペースとして 2GB の仮想メモリ空間に制約されている

– Lotus Dominoでのメモリ不足とは、仮想メモリの中で起きていることである

– 統計情報を確認しつつ、UBMサイズを小さくしていくことを推奨

物理メモリと仮想メモリとのマッピングは Windows VMM が行う

– ファイルキャッシュの扱いにより、物理メモリの空き容量の考え方が異なる

– Lotus Dominoの稼働環境としてファイルキャッシュは重要

Page 23: Lotus Dominoと物理メモリの関係 ~Windows編~public.dhe.ibm.com/software/dw/jp/lotus/ldd_tech/2010jan29_nd.pdf · 物理メモリの話をする前に。。。 Windowsのアーキテクチャ

IBM Software Group | Lotus software

最最最最最最後後後後後後にににににに、、、、、、冒冒冒冒冒冒頭頭頭頭頭頭のののののの会会会会会会話話話話話話をををををを正正正正正正ししししししくくくくくく表表表表表表現現現現現現ささささささせせせせせせててててててみみみみみみよよよよよようううううう!!!!!!

ある企業での上司と「理解している」部下の会話

– 上司:Dominoって333333222222bbbbbbiiiiiittttttだから、最大で444444GGGGGGBBBBBBのメモリを使うんだよね?

– 部下:それは仮仮仮仮仮仮想想想想想想アアアアアアドドドドドドレレレレレレスススススス空空空空空空間間間間間間仮仮仮仮仮仮想想想想想想アアアアアアドドドドドドレレレレレレスススススス空空空空空空間間間間間間の話ですね。実際の仮仮仮仮仮仮想想想想想想メメメメメメモモモモモモリリリリリリ仮仮仮仮仮仮想想想想想想メメメメメメモモモモモモリリリリリリの使用量としてはDominoサーバー全体で 222222GGGGGGBBBBBB らしいです。

– 上司:あっ、そうなの? うちのWindows 2003サーバーは444444GGGGGGBBBBBBのメモリを搭載してるけど、空きメモリが222222GGGGGGBBBBBBもあるのが何故なのか気になってね。

– 部下:それは物物物物物物理理理理理理メメメメメメモモモモモモリリリリリリ物物物物物物理理理理理理メメメメメメモモモモモモリリリリリリの話ですね。でも、空きメモリをどうやって確認しました? Windowsタスクマネージャの「利利利利利利用用用用用用可可可可可可能能能能能能メメメメメメモモモモモモリリリリリリ」ですかね。どうやらその値は、本当の意味での「空空空空空空ききききききメメメメメメモモモモモモリリリリリリ」ではないようです。「利用可能メモリ」にはキャッシュ済みのファイルデータも含まれていて、Dominoのように多数のファイルを読み書きするアプリケーションを実行すると、段々と物理メモリがキャッシュで一杯になるようです。その証拠に見てください、タスクマネージャの「シシシシシシスススススステテテテテテムムムムムムキキキキキキャャャャャャッッッッッッシシシシシシュュュュュュ」が222222GGGGGGBBBBBB以上を占めていますよね。この状

況では「空空空空空空ききききききメメメメメメモモモモモモリリリリリリ」はほとんどないですけど、問題ないですよ。

Page 24: Lotus Dominoと物理メモリの関係 ~Windows編~public.dhe.ibm.com/software/dw/jp/lotus/ldd_tech/2010jan29_nd.pdf · 物理メモリの話をする前に。。。 Windowsのアーキテクチャ

IBM Software Group | Lotus software

参参参参参参考考考考考考資資資資資資料料料料料料

(参考)NSF_BUFFER_POOL_SIZE_MB パラメータ設定の推奨

• http://www.ibm.com/jp/domino04/lotus/support/faqs/faqs.nsf/all/731369

(参考)Lotus Domino の Windows /3GB スイッチのサポートについて

• http://www.ibm.com/jp/domino04/lotus/support/faqs/faqs.nsf/all/730687

(参考)64 ビット Windows OS でサードパーティアプリケーションとともに 32 ビット Lotus Domino を実行する場合の注意点

• http://www.ibm.com/jp/domino04/lotus/support/faqs/faqs.nsf/all/733094

(参考)64 bit の Windows 環境で Lotus Domino サーバーのパフォーマンスが大幅に低下してしまう

• http://www.ibm.com/jp/domino04/lotus/support/faqs/faqs.nsf/all/731710

Page 25: Lotus Dominoと物理メモリの関係 ~Windows編~public.dhe.ibm.com/software/dw/jp/lotus/ldd_tech/2010jan29_nd.pdf · 物理メモリの話をする前に。。。 Windowsのアーキテクチャ

IBM Software Group | Lotus software

MMMMMMiiiiiiccccccrrrrrroooooossssssoooooofffffftttttt WWWWWWiiiiiinnnnnnddddddoooooowwwwwwssssss 参参参参参参考考考考考考資資資資資資料料料料料料

Windows Server 2003 でのキャッシュ マネージャーについて

• http://support.microsoft.com/kb/837331/ja

Windows XP および Windows Server 2003 における 32 ビット版と 64 ビット版のメモリ構造の比較

• http://support.microsoft.com/kb/294418/ja

TechNet 「Windows の限界に挑む: 物理メモリ」

• http://technet.microsoft.com/ja-jp/windows/ee424285.aspx

TechNet 「Windows の限界に挑む: 仮想メモリ」

• http://technet.microsoft.com/ja-jp/windows/ee424286.aspx