...

Red Hat Linux Advanced Server 2.1 に おける Linux 仮想メモリー機構

by user

on
Category: Documents
4

views

Report

Comments

Transcript

Red Hat Linux Advanced Server 2.1 に おける Linux 仮想メモリー機構
Red Hat Linux Advanced Server 2.1 に
おける Linux 仮想メモリー機構およ
び Oracle のメモリー使用方法の特徴
オラクル・ホワイト・ペーパー
2002 年 6 月
Red Hat Linux Advanced Server 2.1 における
Linux 仮想メモリー機構および
Oracle のメモリー使用方法の特徴
1.
2.
3.
4.
5.
概要................................................................................................................. 3
はじめに......................................................................................................... 3
用語................................................................................................................. 4
Linux の VM アーキテクチャ...................................................................... 4
機能拡張およびパッチ................................................................................. 5
5.1 VLM のサポート ................................................................................... 5
5.1.1 問題点............................................................................................ 5
5.1.2 ソリューション............................................................................ 5
5.1.3 使用方法........................................................................................ 5
5.2 mapped_base の変更による SGA サイズの拡張 ................................ 5
5.2.1 問題点............................................................................................ 5
5.2.2 ソリューション............................................................................ 5
5.2.3 使用方法........................................................................................ 6
5.3 共有メモリー・ファイル・システム(shmfs)のサポート............ 7
5.3.1 問題点............................................................................................ 7
5.3.2 ソリューション............................................................................ 7
5.3.3 使用方法........................................................................................ 7
5.4 highpte パッチ........................................................................................ 7
5.4.1 問題点............................................................................................ 7
5.4.2 ソリューション............................................................................ 9
5.4.3 使用方法...................................................................................... 10
5.5 bigpages 機能........................................................................................ 10
5.5.1 問題点.......................................................................................... 10
5.5.2 ソリューション.......................................................................... 10
5.5.3 使用方法...................................................................................... 11
6. 有効値の組合せ........................................................................................... 11
7. 制限............................................................................................................... 12
8. まとめ........................................................................................................... 13
Red Hat Linux Advanced Server 2.1 における
Linux 仮想メモリー機構および
Oracle のメモリー使用方法の特徴 2
Red Hat Linux Advanced Server 2.1 における
Linux 仮想メモリー機構および
Oracle のメモリー使用方法の特徴
1. 概要
Oracle データベース・サーバーは、従来価格と保守費用が高い大型サーバー上で
稼働するのが一般的でした。近年では、普及型サーバー分野の飛躍的な技術進歩
および Oracle データベース・サーバー・アーキテクチャの改善により、Intel ベー
ス・サーバーは Oracle にとって魅力的な市場になりました。価格性能比は、常に
Intel サーバーの強みです。Oracle9i RAC のスケーラビリティとフォルト・トレラ
ンス機能を低価格サーバーに追加することで、システムの高可用性と安定性を犠
牲にすることなく、TCO(総所有コスト)の削減が実現します。
このソリューションの重要な要素の 1 つは、オペレーティング・システムです。
x86 アーキテクチャベースのコンピュータにおいて、Linux は非常に人気の高いオ
ペレーティング・システムです。Linux は UNIX をベースとしていますが、今まで
企業向けシステムとして使用するには不十分な点がいくつかありました。この OS
で、安定性と拡張性に欠ける主な項目の 1 つが、仮想メモリー管理です。ここで
説明する作業によって、Oracle ソフトウェアの稼働時の信頼性を著しく高めると
いう点で、ほとんどの問題を解決します。
2. はじめに
IA-32 アーキテクチャで 4GB を超える仮想メモリーを利用するには、PAE(Page
Address Extensions)と呼ばれる技術が使用されます。これは、32 ビットのリニア・
アドレスを 36 ビットの物理アドレスに変換する方法です。Linux カーネルでは、
コンパイル時オプションによって2つの異なるカーネルを生成し、PAE 技術をサ
ポートしています。生成されるカーネルの 1 つは、PAE を使用せず 4GB までの仮
想メモリーしかサポートしない SMP カーネルで、もう 1 つは PAE を使用するこ
とにより 64GB までの仮想メモリーをサポートする(VLM 機能と呼ばれます)エ
ンタープライズ・カーネルです。この VLM 機能によって Oracle などのアプリケー
ションは、パフォーマンスや信頼性を低下させることなく、大容量メモリーを利
用し接続ユーザー数の増加を実現できます。
また、Oracle では、多くの共有メモリーも使用されます。一般的な 2.4.x カーネル
では、最大 1.8GB の SGA の利用が可能です。ただし、今回リリースされた Advanced
Server の機能強化された Linux カーネルでは、さらに大きな SGA サイズを利用可
能になります。一般に大容量 SGA および大規模データベース・インスタンスでは、
カーネルに多数のページ・テーブル・エントリが生成されるため、サポート可能
なユーザー数が厳しく制限されます。また、パフォーマンスが著しく低下し、ク
ラッシュが発生する場合もあります。新しいカーネルでは、このような制限を克
Red Hat Linux Advanced Server 2.1 における
Linux 仮想メモリー機構および
Oracle のメモリー使用方法の特徴 3
服し、負荷の高い状況でもパフォーマンスの低下が抑えられるように、数多くの
対処が施されました。
本書では、Linux VM アーキテクチャを紹介し、次に Oracle データベースのスケー
ラビリティと信頼性を飛躍的に向上させるため、Advanced Server カーネルに対し
て実施された機能強化について説明します。
3. 用語
用語名
説明
VLM
大容量メモリー(4GB を超えるメモリー)
lowmem
カーネルによって直接マップされる低位物理メモリー・アドレ
ス。約 1 GB.。
highmem
高位物理メモリー・アドレス
mapped_base
プロセス毎に設定可能な mmap で利用するメモリーの開始アドレ
スの値
VLM ウィンドウ
Oracle9i Release 2 の新機能である拡張バッファキャッシュファ
イルを mmap する仮想メモリーの範囲
pte
ページ・テーブル・エントリ
highpte
pte を highmem 領域へ書込み可能にするカーネル・パッチ
エンタープライズ・
カーネル
VLM をサポートしているカーネル
SMP カーネル
4GB までの VM しかサポートしていないカーネル
SGA
Oracle インスタンス用の共有グローバル領域
TLB
アドレス変換バッファ
bigpages
共有メモリーのページ・サイズを拡張するカーネル機能
表 1: 本ドキュメントで使用される技術用語
4. Linux の VM アーキテクチャ
データ処理集中型の意思決定支援アプリケーションの場合、低価格のコモディ
ティ・コンポーネントを利用したパラレル・ハードウェア・システムは、価格/パ
フォーマンスの点で従来のメインフレーム・システムよりも優位性が高くなる可
能性があります。密結合対称型マルチプロセッサ・システム(SMP)は、最も幅
広く使用されているパラレル・ハードウェア・システムです。このシステムでは、
複数のプロセッサが使用され、メインメモリーとディスク・リソースが共有され
ます。したがって、「全共有型」システムとも呼ばれます。SMP システムの最大
の利点として、アプリケーション開発の簡略化および管理の簡便化があげられま
す。ただし、このシステムには固有のフォルト・トレランス機能がありません。
このため、CPU などのクリティカル・コンポーネントの 1 つで障害が発生すると、
システム全体がダウンする場合があります。また、現在のところ、利用可能なシ
ステム・バス帯域幅とオペレーティング・システムの拡張性に制限があるため、
スケーラビリティの面でいくつか制限があります。
Red Hat Linux Advanced Server 2.1 における
Linux 仮想メモリー機構および
Oracle のメモリー使用方法の特徴 4
5. 機能強化およびパッチ
5.1
VLM のサポート
32 ビット・システムで最大 64GB の物理メモリーを使用する機能
5.1.1
問題点
IA-32 は、デフォルトで対応可能なメモリー容量は最大で 4GB までです。このた
め、大容量の SGA メモリー領域を使用し、多数のユーザー・アクセスを処理する、
Oracle のようなエンタープライズ領域で使用されるアプリケーションでは、深刻
な制限が発生します。通常、カーネルによってある一定のメモリー量が予約され
ているため、残りのメモリーを SGA および Oracle プロセスで共有する必要があり
ます。つまり、ユーザーと SGA によって使用される仮想メモリーは、最大で 4GB
までにかぎられます。
5.1.2
ソリューション
PAE(Page Address Extensions)機能によって、IA-32 システムで 36 ビットアドレッ
シングが実現します。Linux は、この技術を利用して VLM 機能を実装し、エンター
プライズ・カーネルがサポートする最大物理メモリー量を 64GB に拡張していま
す。これにより、同時に処理するユーザー数の点で、Oracle データベースのスケー
ラビリティは簡単に向上します。
5.1.3
使用方法
エンタープライズ・カーネルでは、変更なしに最大 64GB の物理メモリーが使用
できます。
5.2
mapped_base の変更による SGA サイズの拡張
Oracle 実行可能プログラムとライブラリのロード先となるメモリー・アドレスを
変更することで、より多くのメモリーを SGA に使うことができます。カーネルは
mmap 実行時に VM の空き領域を探します。VLM の場合、その空き領域探索開
始アドレスを変更することで、SGA の VLM ウィンドウのサイズもより大きくで
きます。
5.2.1
問題点
これまでのカーネルでは、カーネル・パラメータ TASK_UNMAPPED_BASE に
TASK_SIZE/3 がデフォルト設定されていました。TASK_SIZE はユーザープロセ
スが使用できる仮想メモリーのサイズで、デフォルト値は 3GB です。つまり、
TASK_UNMAPPED_BASE の値は 1GB でした。4GB の RAM を搭載したマシンで
利用可能な最大 SGA サイズは、1.7GB でした。また、この設定で利用可能な最大
VLM ウィンドウ・サイズは、最大 VM サイズが 4GB のシステム(非エンタープ
ライズ・カーネル)の場合で 512MB でした。
5.2.2
ソリューション
TASK_UNMAPPED_BASE パラメータは、/proc ファイル・システムでプロセスご
と動的に設定できるようになりました。したがって、Oracle 起動プロセスは、
Red Hat Linux Advanced Server 2.1 における
Linux 仮想メモリー機構および
Oracle のメモリー使用方法の特徴 5
/proc/<pid>/mapped_base ファイルに適切な値(次の項を参照)を設定でき、カーネ
ルはその値に基づいて VLM ウィンドウ用に mmap 可能な仮想メモリー領域を探
します。この機能を使うには、ksms.o を生成するために特定の値が設定された
Oracle を再リンクする必要があります。Oracle ライブラリと実行可能プログラム
は変更後のアドレスでロードされ、カーネルは mapped_base アドレスに基づいて
VLM ウィンドウ用の mmap 領域の検索を開始することとなり、このため VLM
ウィンドウのサイズが大きくなります。VLM 以外の場合、より大きなメモリー領
域を SGA 用に利用できるようになります。
Oracle のロードが開始されるデフォルト・アドレスは 0x50000000 で、デフォルト・
マップ・ベースは 0x40000000(十進法で 1073741824)です。0x40000000 から
0x5000000 までの領域は、Oracle ライブラリのロード用に予約されています。マッ
プ・ベースを 0x10000000(十進数: 268435456)まで下げると、0x10000000 から
0x12000000 までの領域が Oracle ライブラリのロードに使用されます。Oracle 実行
可能プログラムのロードは 0x12000000 から開始されるため、大容量 SGA および
大型ウィンドウの実装が可能になります。前述したマップ・ベースの最低値は例
であり、ご使用のシステムに適した値を設定する必要があります。
5.2.3
使用方法
次のオプションを使用して、Oracle を再リンクします。
$ORACLE_HOME/rdbms/lib ディレクトリにおいて次のコマンドを実行します。
# genksms -s 0x12000000 > ksms.s
# make -f ins_rdbms.mk ksms.o
# make -f ins_rdbms.mk ioracle
ps コマンドを使用して、Oracle を起動するプロセス(シェル)の PID を確認しま
す。次に、ルートとして次のコマンドを実行します。
echo 268435456 >/proc/$pid/mapped_base
これにより、マップ・ベースが 0x10000000(十進数:268435456)まで低くなり、
そのマップ・ベースから Oracle をロードできます。マップ・ベースを低アドレス
に設定したシェルから Oracle を起動します。マップ・ベースを変更した Oracle の
起動でエラーが発生する場合は、ksms.s で 0x12000000 を上回る値を使用して
Oracle を再リンクしてください。
Red Hat Linux Advanced Server 2.1 における
Linux 仮想メモリー機構および
Oracle のメモリー使用方法の特徴 6
図 1: Oracle 用にメモリー内のマップ・ベースを下げる場合の概略図
5.3
メモリーファイルシステムのサポート
共有メモリー処理および大容量 SGA 向けに最適化されたメモリーベースのファ
イル・システムです。
5.3.1
問題点
SGA に対して通常の shmget()および shmat()コールを使用すると、Linux カー
ネルでは Oracle 用の SGA サイズが 1.7GB に制限されます。Oracle 上で多数の I/O
(OLTP タイプ)を実行するアプリケーションの場合、より大きなサイズの SGA
が必要です。
5.3.2
ソリューション
Oracle ではメモリーファイルシステムを使用して、SGA の動的部分のメモリー・
マップが実行されます。よって理論上はメモリーファイルシステムの最大ファイ
ルサイズまで SGA を拡張することができます。メモリーファイルシステムはメモ
リー上に構築されるので、その最大ファイルサイズは最大物理メモリサイズとな
る 64GB となります。
5.3.3
使用方法
次のコマンドを使用し、ルート・ユーザーとしてメモリーファイルシステムをマ
ウントします。
mount -t shm shmfs -o nr_blocks=8388608 /dev/shm
init.ora パラメータで use_indirect_data_buffers=true を設定します。
Oracle を起動します。
5.4
highpte パッチ
VM の highmem 領域にページ・テーブル・エントリを書き込めるようにします。
5.4.1
問題点
従来の Linux カーネルの VM では、ページテーブルで使用するメモリーは、最大
Red Hat Linux Advanced Server 2.1 における
Linux 仮想メモリー機構および
Oracle のメモリー使用方法の特徴 7
サイズが 1GB である lowmem プールから割り当てられます。VLM のサポートに
伴い、また Oracle がより大きな SGA とユーザー・メモリーを必要とするエンター
プライズ・アプリケーションであるため、lowmem プールのサイズがボトルネッ
クになります。多くのユーザーが Oracle に接続すると、ページ・テーブル・エン
トリが大量に作成され、すぐに lowmem プールを占領してしまいます。たとえ、
数十GBもの物理メモリーを登載して多くの空きメモリーが存在していても、接
続ユーザー数が増えると pte 用の lowmem 領域がなくなり、結果としてスケーラ
ビリティが制限されます。
チャート 1 は、highpte パッチを適用する前に、軽度から中程度の処理負荷で Linux
システムを稼働した場合の一般的なメモリー使用量パターンを示します。使用さ
れた処理負荷は、200 のウェアハウスと 200 の同時ユーザーを処理する Oracle
TPC-C で、8GB の RAM および 2.7GB の SGA を備えた 4-way システム上で行わ
れました。このシステムの処理負荷は比較的低いため、lowmem の空き領域がな
くなった場合も、リカバリを実行して処理を続行できます。ここで注目する点は、
memfree ライン(一番上)と highfree ライン(memfree の次の点線)によって空き
領域が十分あることが示されているにもかかわらず、lowfree ライン(一番下の破
線)が非常に低いことです。
チャート 1: highpte パッチ適用前のシステム正常実行時のメモリー使用量パターン
チャート 2 は、同じシステム(highpte パッチの適用なし)で負荷を多少増加させ
た場合の影響を示しています。Oracle と TPC-C の処理負荷タイプは同じですが、
ユーザー数を約 300 にしたところ、SGA アクティビティの結果として生成される
pte が増加するため、すぐに lowmem の領域がなくなります。ただし、十分な空き
メモリー(約 3GB)があり、スワップのすべてが空き状態である点に注目してく
ださい。しばらくの間、システムは完全にフリーズし、応答不可能になります。
これは、pte をこれ以上書き込む領域がないためです。この表では、一番上のライ
ンは memfree で、そのすぐ次のラインは highfree です(点線)。システムのハン
グ中に水平軸とほぼ一緒になっている一番下のラインは lowfree です(破線)。
Red Hat Linux Advanced Server 2.1 における
Linux 仮想メモリー機構および
Oracle のメモリー使用方法の特徴 8
チャート 2: highpte パッチ適用前のシステムクラッシュ時のメモリー使用量パターン
5.4.2
ソリューション
highpte パッチによって、VM では highmem プールにページ・テーブル・エントリ
を書き込めるようになります。その結果、システムのメモリーの空き領域を偏り
なく使うことができ、より多くの同時ユーザーの接続を処理することができます。
この実装では kmap()は使用しません。これにより、負荷のかかったシステムで
のデッドロックの発生を防ぎます。カーネルメモリ領域の pte エントリは、
highmem プールには書き込まれません。ユーザー・メモリー領域の pte エントリ
のみが highmem に書き込まれます。カーネルのページテーブルはシステムの全プ
ロセスによって共有されるので、これらのテーブルが直接マッピングされる
lowmem に書き込まれるのことによってオーバーヘッドが大幅に削減されます。
チャート 3 は、この項の「問題」の部分で説明した OracleTPC-C の処理負荷の状
態で、前述のパッチを適用した場合の影響を示しています。多数のユーザー(約
600 名)が Oracle に同時接続した場合でも、システムはハングしたりクラッシュ
したりしません。この表から、ある時点で使用可能メモリーが非常に少ないこと
がわかります。これは、lowmem、highmem および利用可能メモリーがほとんど使
い果たされた状態です。しかし pte の書込みが lowmem 領域に限定されていない
ため、システムは負荷の高い状態からスムーズにリカバリすることができます。
また、負荷の高い状態で表内の memfree(一番上)、highfree(memfree の次の点
線)、および lowfree(一番下の破線)の線がほとんど重なっており、すべての利
用可能メモリーが使用されて、数多くのプロセスが処理されていることがわかり
ます。
Red Hat Linux Advanced Server 2.1 における
Linux 仮想メモリー機構および
Oracle のメモリー使用方法の特徴 9
チャート 3: highpte パッチ適用後のシステム正常実行時のメモリー使用量パターン
5.4.3
使用方法
上記の動作は Advanced Server カーネルの通常の処理なので、特にユーザーオペ
レーションは必要ありません。
5.5
bigpages 機能
サイズが 4MB のページ・フレーム。通常は 4KB。
5.5.1
問題点
Linux カーネルの通常のページ・フレーム・サイズは 4KB です。ほとんどのアプ
リケーションはこのサイズで十分ですが、Oracle や SGA については最適化が必要
です。Oracle では、大きなメモリー領域をマップする大容量 SGA が使用されるた
め、ページ・サイズが 4KB の場合、SGA に対し多くのページ・テーブル・エント
リが生成されます。つまり、大容量 SGA を実装したシステムでは、pte を格納す
る際にカーネルのオーバーヘッドが高くなります。エンタープライズ・カーネル
でメモリーファイルシステムを利用すると、SGA サイズが非常に大きくなる場合
があり、カーネルのオーバーヘッドを可能な限り削減する必要があります。
5.5.2
ソリューション
Oracle では、VLM ウィンドウのマッピング用に、VM 内で連続した大きな領域が
使用されます。これらは SGA の動的部分として使用され、SGA のサイズは
db_block_buffers パラメータで指定します。
VLM ウィンドウとして使用される VM
のページ・サイズは、デフォルト値である 4KB よりも簡単に大きくすることがで
きます。また、大きなページ・サイズを使用しても、フラグメント問題は発生し
ません。これらのページのサイズを 4MB にすることで、pte 数が減り、カーネル
のオーバーヘッドが大幅に削減されます。使用される TLB 数も少なくなるため、
TLB のスラッシングも減少します。その結果、Oracle の同時接続ユーザー数とい
Red Hat Linux Advanced Server 2.1 における
Linux 仮想メモリー機構および
Oracle のメモリー使用方法の特徴 10
う観点からの拡張性が増します。この大きなページはページアウトされない、つ
まり db_block_buffers 全体が常に物理メモリー内にあるため、パフォーマンスの向
上も実現します。システム・パフォーマンスが向上する理由は、kswapd がこれら
のページのページアウトを「判断する」必要がないためです。これらのページ用
のスワップ領域を事前に割り当てる必要がないため、利用可能なスワップ領域が
増し、ページキャッシュの複雑性も軽減されます。
5.5.3
使用方法
カーネル・ブート・オプションで、ブート・ローダ・ファイル(例: /etc/lilo.conf)
に「bigpages=<size>MB」を追加します。<size>には、ご使用のシステムに適した
値を MB 単位で入力してください。また、/proc/sys/kernel/shm-use-bigpages ファ
イルでサイズに 2 を指定します。bigpages を使用しない場合は 0、sysV 共有メモ
リーを使用する場合は 1 を指定します。
システムの最大 bigpages 値は、次の式で求めることができます。
Bigpages 最大値 =
HighTotal / 1024 * 0.8 MB
HighTotal には、/proc/meminfo から得た KB 単位の値です。上記の式はメモリーの
約 20%がカーネル用途として使われることを仮定しています。
たとえば、8GB のメモリーを搭載したマシンの HighTotal が 7208944KB の場合、
bigpages の最大値は、約 5631MB になります。bigpages に非常に多くのメモリーを
割り当てる場合、ユーザー接続に利用可能なメモリーが少なくなります。ユーザー
接続と bigpages のどちらにメモリーを多く割り当てるかは、トレードオフとなり
ます。予想される最大ユーザー接続数、および各ユーザーが使用するメモリーを
ほぼ把握している場合は、次の計算式を使用して、正確な bigpages の値を計算で
きます。
Bigpages =(HighTotal – ユーザー接続数が最大時に必要な KB 単位のメモ
リー)/ 1024 *0.8 MB
6. 有効値の組合せ
次の表はいくつかの例をまとめたものです。
必要条件
使用方法
4GB を超えるメモリーを登載する
intel サーバー上で Oracle を稼働する
エンタープライズ・カーネル。
SGA は 1.7GB を上回るが、エンター
プライズ・カーネルを使用しない
init.ora で use_indirect_data_buffer=true を指定。
マウントされる/dev/shm に該当するサイズを指
定。または
init.ora で use_indirect_data_buffer=false を指定。
/proc/<pid>/mapped_base を 268435456 に設定。
0x12000000 に設定した ksms に Oracle を再リン
クする。
エンタープライズ・カーネルに 1.7GB
を超える SGA を実装する
前述の設定 1 と 2 および bigpages に関するすべて
の設定を行う。
VLM ウィンドウ・サイズ> 512MB
/proc/<pid>/mapped_base を 268435456 に設定。
0x12000000 に設定した ksms に Oracle を再リン
クする。
表 2: Oracle SGA の実用的なシナリオと実現方法
Red Hat Linux Advanced Server 2.1 における
Linux 仮想メモリー機構および
Oracle のメモリー使用方法の特徴 11
7. 制限
非同期 I/O と RAW デバイスを使用しない状態で、TPC-C 負荷テストを実施した
時のユーザー数と SGA のサイズに関する制限事項は、次の表(表 3)にまとめら
れています。すべてのケースで、データベース・サイズは 50GB、倉庫数は 200
でした。データベースは専用サーバー(非 MTS)モードで稼働していました。結
果を得る際に使用されたカーネルには、すべての VM 機能拡張およびパッチが適
用されています。システムでは、前述の作業負荷のみが実行されました。
RAM サイズ/
スワップ・サイズ
SGA サイズ
db_block_buffers
shm-use-bigpages
& bigpages
最大同時
ユーザー数
4GB/4GB
1GB
0.6GB
0&x
1200
4GB/4GB
1.7GB
1.3GB
0&x
800
4GB/4GB
2.0GB
1.6GB
0&x
700
4GB/4GB
2.6GB
2.2GB
0&x
600
8GB/4GB
2GB
1.6GB
2 & 2100MB
1200
8GB/4GB
2.7GB
2.4GB
8GB/4GB
2.7GB
2.4GB
2 & 3000MB
900
8GB/4GB
2.7GB
2.4GB
0&x
900
8GB/4GB
4GB
3.5GB
0&x
700
8GB/4GB
4GB
3.5GB
2 & 4100MB
700
16GB/8GB
1.7GB
1.3GB
0&x
1200++
16GB/8GB
2.7GB
2.3GB
0&x
1200+
16GB/8GB
8GB
7.2GB
0&x
1200
16GB/8GB
8GB
7.2GB
2 & 8200MB
1200
16GB/8GB
14GB
12.5GB
0&x
900
(LB、shmfs なし)
0&x
(bigpages バグ)
100
表 3: メモリーおよび SGA サイズを変更した場合の Oracle 同時接続ユーザー数
右端の列に記載された数字は、パフォーマンスが低下して TPC-C クライアントで
タイムアウトが発生することなく、システム上で゙実行できる Oracle データベース
への最大同時ユーザー接続数です。一般的には、SGA サイズや RAM/スワップ・
サイズが増加すると、サポート可能なユーザー数が減少することが予想されます。
ただし、オリジナル・カーネルに対して機能拡張を実施した後、ほとんどの典型
的な組合せ(SGA のサイズが RAM の半分)で、接続可能なユーザー数は安定し
た数字を示しています。TPC-C クライアントもデータベース・サーバーと同一マ
シン上で稼働していた点に注意してください。このため、実際のオペレーティン
グ・システムのユーザー数は、右端の列で示した値の 2 倍です。
表のデータからは、bigpages を使用する利点が明確に示されないかもしれません。
ただし、bigpage を有効にして適切な値を設定すると(項 5.5.3 を参照)、bigpages
を使用しない場合と比較し、平均 TPMC 数(パフォーマンス計測)が向上したこ
Red Hat Linux Advanced Server 2.1 における
Linux 仮想メモリー機構および
Oracle のメモリー使用方法の特徴 12
とに注目する必要があります。
8. まとめ
Linux 仮想メモリー・アーキテクチャには、Oracle ソフトウェアにとって必要な重
要機能が一部欠如していました。特にデータベース・サーバーの稼働を最適化す
るための機能がありませんでした。Red Hat Linux Advanced Server カーネルで、そ
れらの欠点が解決されたことで、Oracle のスケーラビリティと信頼性の向上が実
現しました。この新しいカーネルを構成する大容量メモリー・アドレッシング機
能、メモリーファイルシステム、mmapped SGA のサポート、設定可能なプロセス・
マップ・ベース、highmem への pte の書込み、および bigpages 機能によって、Oracle
がシステム・メモリー・リソースをフルに活用できるようになります。
Red Hat Linux Advanced Server 2.1 における
Linux 仮想メモリー機構および
Oracle のメモリー使用方法の特徴 13
「Red Hat Linux Advanced Server 2.1 における Linux 仮想メモリー機構および Oracle のメモリー使用方法の特徴」
Oracle Corporation 発行の「Linux Virtual Memory in Red Hat Linux Advanced Server 2.1 and Oracle's Memory Usage Characteristics」の翻訳版です。
2002 年 6 月
著者: Niloy Banerjee
寄稿者: Deepak Patel
Oracle Corporation
World Headquarters 500 Oracle Parkway
Redwood Shores, CA 94065
U.S.A.
海外からのお問合せ窓口:
電話: +1.650.506.7000
ファックス: +1.650.506.7200
www.oracle.com
この文書はあくまでも参考資料であり、掲載されている情報は予告なしに変更されることがあります。万一、誤植などにお気づきの場合は、オラクル社ま
でお知らせください。オラクル社は本書の内容に関していかなる保証もしません。また、本書の内容に関連したいかなる損害についても責任を負いかねま
す。
Oracle はオラクル社の登録商標です。
このガイドで使用されているさまざまな製品名およびサービス名には、オラクル社の商標が含まれています。
その他のすべての製品名およびサービス名は、各社の商標です。
Copyright © 2001 Oracle Corporation
All rights reserved.
Fly UP