- PR -

LinuxでLowMemoryリソースが不足した場合どうしてますか?

1
投稿者投稿内容
MyTime
ベテラン
会議室デビュー日: 2002/01/03
投稿数: 83
投稿日時: 2002-09-22 11:18
 x86系のLinuxには、1GBの壁、4GBの壁、64GBの壁とメモリリソースについて制約が存在しています。
 64GBの壁は、CPUの仕様によるものであるため、クラスタ化などのメモリ搭載量を増やす以外の方法で問題解決を図る必要があります。
 4GBの壁もCPUの仕様によるものです。4GB以上のメモリを搭載するためには、インテルチップの場合には、PAEを有効にして3レベルでのページ管理を行う必要があります。Redhatのケースでは、4GB以上のメモリを使用するのに、up/smpカーネルではなく、enterprise/bigmemカーネルを使用する必要があります。4GB以下のメモリ搭載量でもenterprise/bigmemカーネルを使用することはできますが、パフォーマンスが著しく低下するので好ましくありません。このパフォーマンス低下は、SPECcpu95では有意な差が出ませんが、姫野ベンチマークなどでは、実行時間が、up/smpカーネルの1.5〜2.0倍以上かかるようになるという形で顕在化します。DBを使用する場合や流体解析のような大規模科学技術計算を行う場合には、特に問題となります。まあ、適材適所という話です。
 ところで、本題の1GBの壁なんですが、下位1GBのメモリであるところのLowMemoryリソースが不足すると、どんなにHighMemoryリソースが空いていても、メモリ不足が起きたり、スワップデーモンが以上動作をしたり、新規にアプリケーションを起動できなくなったりします。
 Redhat Advanced Server 2.1/UnitedLinux 1.0の環境でOracleを使用しているのならば、Bigpagesオプションとkernel.shm-use-bigpagesパラメータで確保したラージページ領域にSGAを追い出したりすれば、LowMemoryリソース不足を緩和することができます。
 その他の一般のアプリケーションの場合には、どんな対策をとれば良いのでしょうか? 
1

スキルアップ/キャリアアップ(JOB@IT)