MemTest86+エラー表示に基づいて正しい不良RAMセクタをブラックリストに追加するには?

MemTest86+エラー表示に基づいて正しい不良RAMセクタをブラックリストに追加するには?

MemTest86+(Ubuntu 13.04に付属のバージョン)は次のように言います。

Failing address: 002f796c48 -    759.5 MB

memmapこの領域をバイパスするには、カーネルパラメータに何を指定する必要がありますか?

私は実行してみましたmemtester 770MBが、すべてが大丈夫だと思いますので、MemTestの指示は759.5MBで最初からエラーがあるという意味ではないようです。

このMemTestディレクティブ設定を解釈するにはmemmap

今は新しいメモリを買うお金がなく、エラーが単一であるようで無視できることを願っています。

ベストアンサー1

メモリマップ

次のタイトルのチュートリアルがあります。記憶力が良くない場合はどうすればいいですか?カーネルパラメータを使用してカーネルを介してメモリを無効にする方法について説明しますmemmap。 Howtoによると、2つのオプションがありますmemmap

  • 悪い記憶の後にはすべてを消す——(mem=###M option)
  • 悪い記憶の周りの記憶だけを閉じてください -(memmap=#M$###M option)

最初のオプションを使用すると、memtestで600Mメモリの問題が報告されたら、その時点からRAMが終了するまでRAMを無効にできます。

 mem=595M

802Mと807MのRAMに問題がある場合は、次のように800MからRAMの10M部分を無効にできます。

memmap=10M$800M

メモ:これにより、800Mベースアドレスの後に10Mがブラックリストに追加されます。memtest86+この引数が正しいことを確認するには、後で実行する必要があります。

悪い記憶

BadRamというUbuntu用のパッチがあります。この記事には、次のような良い紹介があります。悪い記憶Ubuntuコミュニティのウェブサイトから。

このページの詳細を使用してカーネルにパッチを適用した後、Grub2設定を変更できます。

このウェブサイトのGrub2から抜粋

NattyのGRUB2設定ファイルには、カーネル不良メモリ除外を設定する行があります。だから私はこれがエラーを示すメモリ部分をマッピングするのに好ましい方法であると仮定します。私が設定した行は

GRUB_BADRAM="0x7DDF0000,0xffffc000"

私が見つけることができるすべてのウェブサイトで提案する方法は、memtest86を実行してBadRAM設定を表示することです。 memtest86は私が入力する必要があるページを私に提供しました。すべてのアドレスが16Kブロックにあることがわかるので、対応する16Kブロックをマッピングして動作を停止したいと思います。これが正しい項目を生成する方法です。

最初のパラメータは簡単です。これが不良メモリのベースアドレスです。私の場合、すべてのエラーアドレスが0x7DDF0000より大きく、0x7DDF4000より小さいことがわかります。だから私は16Kブロックの先頭を開始アドレスにしました。

2番目のパラメータはマスクです。目的のアドレス範囲が同じ値を共有する場合は1を入力し、異なる場合は0を入力します。これは、低いビットのみが変更されるようにアドレス範囲を選択する必要があることを意味します。私の住所を見てください。マスクの最初の部分は簡単です。 0xffffで始めたいです。次のニブルではビットマップの側面で説明します。私が望む範囲は0000から0011です。したがって、バードラムのマスクは1100または16進数cになります。フルレンジをマッピングするには、マスクの最後の3つのニブルがすべてゼロである必要があります。したがって、我々が得た合計結果は0xffffc000です。

/etc/default/grubにこの行を設定した後、sudo update-grubを実行して再起動しましたが、不良メモリは使用されなくなりました。この方法を使用して不良メモリをマッピングするためにカーネルパッチは必要ありません。

フォローアップ#1

memtest86+のWikipediaページを見ると、説明は次のとおりです。

から抜粋Memtest86ウィキペディアページ

Memtest86 2.3およびMemtest86+ 1.60以降、プログラムはこの情報を使用して、LinuxカーネルのBadRAMパッチで予想される形式で不良RAM領域のリストを出力できます。 Linuxシステムは、不良ビットがあってもRAMモジュールを安定して使用できます。 Grub2はパッチのないカーネルに同じ情報を提供できるため、BadRAMパッチは必要ありません。

私もこのようなことを経験しました。Gentooページ16進アドレスを使用するように指定するため、memmap=...次のように指定できます。

memmap=5M$0x2f796c48

5Mは単なる推測に過ぎず、省略したいまたは省略する必要がある領域の周りのRAMの量に応じて、より低くしたり高くしたりすることができます。

最後に、サイズを16進数で指定することもできます。

memmap=0x10000$0x2f796c48

アドレス 0x2f796c48 で始まる 64 KB は無視されます。

引用する

おすすめ記事