第2章 Red Hat Enterprise Linux 6 のパフォーマンス機能
2.1. 64 ビットのサポート
Red Hat Enterprise Linux 6 は 64 ビットのプロセッサーをサポートしています。これらのプロセッサーは理論的には、最大 16 エクサバイト のメモリーを使用できます。一般提供 (GA) の開始時点で、Red Hat Enterprise Linux 6.0 は最大 8 TB の物理メモリのサポートをテスト、検証しています。
Red Hat は、より大型のメモリブロックの使用を可能にする機能を継続して導入・改善するので、Red Hat Enterprise Linux 6 がサポートするメモリサイズはマイナーな更新を重ねるごとに拡大する予定です。(Red Hat Enterprise Linux 6 GA 時点での) 改善の例は以下の通りです。
- Huge pages および transparent huge pages
- Non-Uniform Memory Access (NUMA) の改善
これらの改善点については、後半のセクションで詳述されています。
Huge pages および transparent huge pages
Red Hat Enterprise Linux 6 に huge pages が実装されたことで、システムは異なるメモリーワークロードにまたがってメモリー使用を効率的に管理できるようになりました。Huge pages は標準の 4 KB ページと比較すると、動的に 2 MB ページを利用するので、アプリケーションはギガバイトやさらにはテラバイトのメモリー処理中にうまく拡張ができます。
Huge pages は手動で作成、管理、使用するには難しいものです。これに対処するため、Red Hat Enterprise 6 には transparent huge pages (THP) を使用する機能もあります。THP は、huge pages の使用に関わる多くの複雑性を自動的に管理します。
Huge pages および THP に関する詳細は、「Huge pages および transparent huge pages」 を参照してください。
NUMA の改善
新しいシステムの多くは Non-Uniform Memory Access (NUMA) をサポートしています。NUMA は、大規模システム用のハードウェアの設計および作成を簡素化します。しかし、アプリケーション開発に新たな複雑性を加えることにもなります。例えば、NUMA はローカルとリモートの両方でメモリーを実装し、リモートの方はローカルよりもアクセスに数倍の時間がかかります。この機能は、オペレーティングシステムやアプリケーションのパフォーマンスに影響を及ぼすので、慎重に設定してください。
Red Hat Enterprise Linux 6 は、NUMA システム上のアプリケーションとユーザーの役に立ついくつかの新機能によって、NUMA により最適化されています。これに含まれるのは、CPU アフィニティ、CPU ピン設定 (cpusets)、numactl および制御グループで、これらによってプロセス (affinity) もしくは アプリケーション (ピン設定) は特定の CPU または CPU セットに「バインド」することができます。
Red Hat Enterprise Linux 6 における NUMA サポートの詳細は、「CPU と NUMA トポロジー」 を参照してください。