JF Linux Kernel 3.x/2.6 Documentation: /usr/src/linux/Documentation/memory.txt

memory.txt

Linux システムにおけるメモリ関連の problems [プレインテキスト版]


Linux システムには、メモリに関連した古くからの問題がいくつかあります。


        1) 16MB 以上のメモリを正しく扱うことができないバグを持った
           マザーボードがあります。お使いのマザーボードを交換する
           ことを検討してください。

        2) ISA バス上では、16M 以上のアドレス空間に DMA (Direct
           Memory Access) を割り当てることができません。Linux の
           デバイスドライバのほとんどは、この問題を回避するために
           バウンスバッファを使用できるようにしています。16M 以上
           インストールされていると、バウンスバッファを使用しない
           ドライバは不安定になります。バウンスバッファを使用する
           ドライバは正常に動作しますが、ややオーバーヘッドがある
           でしょう。

        3) 一定のメモリ量を越えるとキャッシュしないマザーボードも
           あります。このようなマザーボードをお使いの場合、その
           システムは、メモリを追加するほど速くはなるのではなく、
           「遅く」なってしまいます。お使いのマザーボードを交換
           することを検討してください。

これらの問題は全て、"mem=XXXM" というブートオプションで対応できます
(XXX には、使用する RAM サイズをメガバイト単位で指定します)。実際に
インストールされている量よりも少ないメモリしか使わないように Linux に
指示することもできます。

カーネルにオプションを渡す方法については、お使いのブートローダ (LILO や
loadlin など) の文書を参照してください。

メモリに関しては、 Linux ではうまく処理できない問題が他にもあります。
メモリがランダムに破壊される現象は、通常は重大なハードウェアトラブル
の兆候です。次のことを試してください。

        * BIOS のメモリ設定を、最も保守的なタイミングに引き下げる。

        * 冷却ファンを追加する。

        * CPU をオーバークロックしない。

        * メモリテスターでテストされたメモリ、もしくはベンダーに
          交換してもらったメモリを使う。memtest86 を用いて自分で
          テストすることを検討してください。

        * CPU 、キャッシュ、あるいはマザーボードを、動作するものと
          交換する。

        * BIOS からキャッシュを無効にする。

        * "mem=4M" というオプションをカーネルに渡して、Linux が
          使うメモリを非常に少量に制限してみる。


その他の対処方法

        * バグのある FPU を無視するよう、カーネルに "no-387"
          オプションを渡してみる。

        * お使いの CPU でバグの可能性のある HLT 命令を無効にする
          ため、"no-hlt" オプションを渡してみる。

------------------------------------------------------------
翻訳団体:   JF プロジェクト < http://www.linux.or.jp/JF/ >
最終更新日: 2004/04/11
翻訳者:     中谷 千絵 <jeanne(a)mbox.kyoto-inet.or.jp>
更新者:     川崎 貴彦 <takahiko(a)hakubi.co.jp>

Linux カーネル 3.x/2.6 付属文書一覧へ戻る