Memtest in 2.6.30.5
カーネル2.6.30.5におけるメモリテストについて
フォーラムのパピー4.3のフィードバック・スレッドで、ある人が「memtest」がないことを嘆いていました。
私は、ヴァージョン2.6.26の時点からカーネルは簡素化されたメモリテストがビルドインされたのであろうと捉えていました。
http://kernelnewbies.org/Linux_2_6_26
私はブートパラメータ "puppy memtest loglevel=7" で起動させてみましたが、何もレポートされません。
カーネルのGitログ参照:
http://git.kernel.org/?p=linux/kernel/g ... 0e02e9376e
x86: early memtest to find bad ram
do simple memtest after init_memory_mapping
use find_e820_area_size to find all ram range that is not reserved.
and do some simple bits test to find some bad ram.
if find some bad ram, use reserve_early to exclude that range.
....見たところ、不良メモリ部分は予約済みとして処理される、ということでしょうか。
カーネルソースのドキュメント、kernel-parameters.txt参照:
memtest= [KNL,X86] Enable memtest
Format: <integer>
default : 0 <disable>
Specifies the number of memtest passes to be
performed. Each pass selects another test
pattern from a given set of patterns. Memtest
fills the memory with this pattern, validates
memory contents and reserves bad memory
regions that are detected.
....えええ、ブートパラメータに"memtest"としただけでは何も起こらないの!!!?
そこで、ブートパラメータ "puppy memtest=2 loglevel=7" で試してみました。
依然としてナッシング。起動後に 'dmesg' を実行しても何もありません。/proc と /sys ディレクトリを見ても何も発見できません。
そう、実際のところmemtestはメモリの不良セクタを発見すれば全て予約済みにするが、発見自体はレポートしないのか....さもなくば不良セクタを発見した時のみレポートするのか?....これでは及第点以下なのではないかと思います.....いや、"使えない" というわけではなのですが、しかし満足がいくというものではありません。
ノート:カーネル2.6.30.5のコンパイルのパラメータ:
CONFIG_MEMTEST=y
そう、私達はパピー4.4では memtest86+ を収録すべきかを検討する必要があります。
2009年十月九日パピーリナックス開発者ブログより抜粋、翻訳
http://bkhome.org/blog/?viewDetailed=01142
このエントリのコメント欄でのバリーさんの追記:
bad ram
(RAMの不良セクタ)
イエス、カーネルレベルではそれでグットなんでしょう。しかし私はこう言ってほしいのです、「ヘイ、あそこに不良セクタがあるよ!」と。もしそれが抜き差し可能なメモリなら、私はそれを交換できます。
しかし何も言ってくれないとなると不良セクタがあるのかそうでないのか、あなたには分かりません。そう、(訳者註:極端に言えば)あなたが安全にプレイするためには毎回 "memtest=<数字>" 付きで起動させる必要があります!