なおマウスカーソルが表示されていない (なぜ???)
は? modeset=0 しても X 起動しなくなりやがった。じゃあ今までのは何だったんだよorz
カーネルの怪しさを疑って gcc のリビルドしたら gcc がクラッシュするわカーネルがクラッシュするわで大惨事。システムのバイナリ全部腐ってる可能性を考えて SystemRescue CD を使って chroot 環境で gcc ビルドしたら、これまたやっぱり kernel panic。
もう疑うべきところがひとつしかない……
電源とグラボを同時に交換したので、まずはグラボ抜いて様子見かな……
状況:
Radeon RX 7900 XT を挿すとメモリテストが失敗するし当然システムも不安定になる。
7900XT を抜くと成功する。
GeForce GTX 1660 を使っていた頃も安定していたのでおそらく 7900XT の問題。
電源は私も気にしていたところなので、 1200W にしてある。
Ryzen 9 7950X が TDP 170W らしいので、多めに見積もって300W。 Radeon RX 7950 XT は TBP 315W らしいので、 OC モデルであることも考慮して 350W。合わせて650を倍にすると1100なので、 1200W 電源で十分なはず。
650を倍にすると1300だな。あれぇ?
ま、まあ CPU が 250W に収まってくれればおkです (白目)
TDP 170W は socket power でいうと 250W くらいらしいので、ギリ 1200 で足りてほしい……
いや、だってクラッシュしたりメモリテスト失敗したときはグラボに負荷かけてないんですよ……
750W 電源を試してみるか。 memtest 程度なら GPU 負荷かからないし大丈夫でしょ
そして Test #2 だけ繰り返したら140%で固まった……電源は関係なしかな。
memtest86+ が FAIL してないと思ったらフリーズしてるの、やめてくれ
しかし memtest86+ 自体が固まるってのは何だ? memtest86+ 本体がおいてあるメモリ領域でアカンことが起きてるってこと?
CPU Sequencing Mode を Parallel から Sequential にしてみたが、やはり Test #2 は通らない
Round Robin で実行すると何故かエラー出ない
GPU の電源ピンを2つとも抜いて M/B に挿してあるだけの状態にしたら、なんと Test #2 で fail しなくなった。
(PBO は disabled のまま)
M/B も GPU も GIGABYTE だし CPU も GPU も AMD の現世代なので、相性問題とかではない気はするんだよなぁ。メモリが相性悪いか、電源が 1200W では足りてないか、GPU のハードウェア不良か。はてさて。
いや待ってくれ、じゃあ今まで動いていた環境は何だったんだ???
(PBO, Above 4G Decoding, Re-Size BAR すべて disabled で GTX 1660 を繋いだ状態のテスト)
CMOS クリアからの Load Optimized Defaults して設定変更なしの状態で RX 7900 XT。
エラーレートは格段に下がったが、やはり Test #2 を繰り返すと fail する。
これは……うーん。
物理今日の退勤後にメモリのタイミングか電圧あたりを弄ってみて、それで駄目そうなら GIGABYTE とかに連絡か? (M/B と Radeon 両方とも GIGABYTE なので)
メモリタイミングが Auto だと 40-40-40-77 (CAS Latency, tRCD, tRP, tRAS) だったところを 42-42-42-80 にしてみたが、駄目
Load Optimized Defaults 後、
Power Down Enable: Auto→Disabled
System Memory Multiplier: Auto(48.00)→44.00
メモリ 3.14 GB しか認識されてなくて草
なんもわからん
CMOS クリアして Power Down Enable: Auto→Disabled 後、 RX7900XT の OC スイッチを Silent 側に切り替えた。やはり駄目。
メモリ全域に Test #2 をかけると 20〜60 MB の領域にエラーが集中するなぁ。かといってアドレス範囲を制限してやってみたら反応なかったりするし。メモリそのものが腐ってるわけではないのはグラボ抜きテストでわかってるけど、特徴的な失敗傾向ではある
RX7900XT を挿した状態でメモリ1枚挿しのテスト。
メモリ2枚のうち1枚は簡単にエラーが出るが、もう1枚の方はかなり粘る。6時間で24というとこれまでの実験のうちでは相当少ないレートだし、8エラーで1組 (後述) であることを考えるとほとんど無事であるといえそう
ところでエラーの特徴を探してみると、なかなか面白い。
* memtest86+ の Test #2 でのみ頻繁に失敗し、他のテストでは失敗する様子がない
* エラーは 20〜26 MB の領域にほとんどが集中しているが、すべてではない
* アラインされた64バイトの領域で、まとめて同じビットの反転が起きている (ようにも見える)
* エラーの起きるアドレスは固定ではない。反転するビットも安定しているようには見えるが、すべてのエラーで同じビットがというわけではない。
Test 2 がアドレスを加工して書き込むテストであること、他のテストで失敗が見られないこと、アラインされたまとまった領域でランダムに失敗すること。
これらを合わせて考えると、どうも読み出す値が化けているのではなく読み出すアドレスが化けているのではないかという気がしてくる。
エラーの起きる CPU コアには偏りはあるものの多くのコアで起きており、CPU の問題とは考えづらいか。
低アドレス帯に集中していることからも、キャッシュが化けているとも考えづらそう。
となると、メモリが (程度の差こそあれ) 2枚とも腐っているか、 M/B の問題であるか、 M/B の問題として、それがバスやコントローラ系の話なのか電源まわりなのか。
どうも特定のコアにエラーが偏っているので、これもしかして Curve Optimizer で電圧削ったときと本質的に同じこと起きてない? と思い至り、腐ってそうなコアを CO で positive 側に盛る戦略でやってみています (手応えがある)