メモリを OC した際のストレステスト環境を考えて調整してみた

この記事は約10分で読めます。
スポンサーリンク

おやくそく

 本記事ではメモリのオーバークロック (OC) に関する話題を中心としているが、OC に関し、本記事が何かしら動作の保証を行うわけでも無く、同様の手順を踏んで不具合を生じたとしても全て自己責任となることにご了承を。

はじめに

 普段サブマシンで動かしっぱなしにしているゲームがメンテナンスで暇そうにしていたので、このタイミングでちょっとメモリのレイテンシを詰める事に再挑戦しようかと思い立った。

 サブマシン構成は次の通り。

 MSI B350 TOMAHAWK の BIOS が購入当初から幾度となくメモリ互換性の改善を繰り返した事から、G.Skill F4-3600C19D-16GSXW (Hynix C-Die?) の CL 値を詰めて動かせない物かということで。

OC するメモリ

 対象のメモリは G.Skill F4-3600C19D-16GSXW で昨年 2 月に「当時としては OC メモリの中でかなり安い部類だった」という理由で購入した代物。
 Thaiphoon Burner というアプリでメモリの情報を取得すると、当時は Hynix M-die とレポートされていた物の、2019/02/23 現在で最新の同ソフトを用いると Hynix C-die とレポートされるメモリ。
 正直どっちが本当なのかはヒートスプレッダを剥いでメモリチップを直接見ないことには分からないんだけどそこまでやる勇気はない。

狙う設定

 現状、DDR4-3200 CL18-18-18-18-39 1.35V, SoC 1.1850V でド安定動作中な所、CL 値を 1 段階下げた CL16 としたい。
 必要であればメモリの動作電圧を 1.40V までなら盛っても良いかなと考えている。
 DDR4 は規定電圧が 1.20V と省電力な物なのであまり電圧をかけすぎるとヤバいかなとちょっとビビっていた感じだが、海外のフォーラムやら色々な所で調べてみると常用環境であれば 1.40V でもそう問題は無いような雰囲気
 1.50V で常用はヤバいかもしれないけど 1.45V までなら許容かもなんて意見も見られた。
 更にメモリチップはどこの物を使っているか分からないけど OC メモリ製品として XMP Profile に動作電圧を 1.45V と設定した製品もあるくらいだし、ヒートシンクさえ付いていればどうにかなるかなと思われる。

 あくまで筆者一個人の考え方であり最終的な判断及び設定は自己責任の上で行わなうこと。

ストレステスト環境を考える

 実際に OC 設定を行う前には普段なら稼働中の Windows10 を一旦バックアップした上で行っていた。
 これは BIOS が起動するスレスレの絶妙な設定だった場合、OS が起動したとしても見えない所でエラーを吐きまくってシステムファイル等々破損する恐れがあるから。実際に破損した事に気付かず、かなり不安定な環境になってしまった経験から後々面倒な事にならないためにも必ずやっていること。

 ファイルの読み書き時、データはメモリ上へ展開されるが、展開した部分がエラーを吐くと壊れたデータで読み書きされてしまう可能性がある。
 もしそれが OS やデバイスドライバの重要な物だった場合、特定と修復が非常に難解な事になる。

 しかし Windows10 をバックアップしてストレステスト完了後、また元の環境にリストアするという行為もかなり時間が掛かるし SSD への書き込み量も数十 GB にもなる為にストレージの寿命を考えるとちょっと嫌だなと思い始めた。

 そこで USB ブートな Linux 環境で何かしらメモリのストレステストとなり得るソフトウェアは無いかなと探してみるとおなじみ Prime95 の Linux 版があることを思いだした。

GIMPS - Free Prime95 software downloads - PrimeNet
GIMPS has free software available for Windows, Linux, FreeBSD, Mac OSX. Contribute to the effort by using your computer's spare processing power.

 あとは Ryzen 5 2400G に対応したディストリビューションとして Ubuntu 18.10 をチョイス。
 インストールに用いる ISO イメージを USB メモリに書き込めば USB メモリから Ubuntu を起動可能な為、非常に手軽に扱える環境が出来ると分かった。

Ubuntu 18.10 のインストールメディア作成

 とりあえず Ubuntu 18.10 のインストールメディアを作成するだけでいいので、次のリンクより「Ubuntu Desktop 日本語 Remix」の ISO イメージをダウンロードする。

Ubuntu Desktop 日本語 Remixのダウンロード | Ubuntu Japanese Team

 USB メモリへの ISO イメージ書き込みには個人的定番の Rufus を用いた。

Rufus

 次のスクリーンショットのように GPT ブートで UEFI ブートさせるような設定で作成した。

 完成した USB メモリは Ubuntu のインストールメディアとなるが USB メモリからの起動時、そのまま無操作である場合は自動で LiveCD 版の様に起動する。

Memtest86 の USB メディアも作成

 別途小容量な USB メモリでも用意してダウンロードした Memtest86 書き込みツールを用いればサクッと作成完了となる。

MemTest86 - Official Site of the x86 Memory Testing Tool
MemTest86 is the original self booting memory testing software for x86 computers. Supporting both BIOS and UEFI, with options to boot from USB.

 最新の 8.1 ではイメージファイルサイズがちょうど 500MiB となっているので 512MB の USB メモリでは容量不足でエラーが発生する物の、書き込めなかった部分は恐らく 0 Fill された部分だった為か正常に動作可能だった。

メモリの OC 設定を行う

 サブマシンを再起動させて DEL キー連打から BIOS に入った。
 当初の予定通り CL18-18-18-18-39 だった物を CL16-18-18-18-38 と変更し、メモリの動作電圧は取り敢えず 1.380V まで上げてみた。
 tRAS を 38 にした理由としては普段なら tCL + tRCD + 3 と設定していた所をちょっと余裕持たせて 16+18+4=38 としてみた。何となくというフィーリングだけが理由。

OC 設定後はお約束の Memtest86

 MSI のマザーボードなので BIOS を抜けたら F11 を連打してブートメニューを出す。
 そこから Memtest86 の入った USB メモリを選択して UEFI ブートしてメモリテストを実行する。

 ここでエラーが出たらもうその時点で今回の企みは終了となる所だったが 1 周目をパスした事からメモリの問題は取り敢えず無いと分かる。
 10 周くらいさせればストレステストとしても安定したと言える物になるそうだが、そこまでやると 5~6 時間かかりそうなので却下。
 ストレステストに関しては今回、Prime95 を用いると決めているので 1Pass した時点で次のステップにうつる。

Ubuntu を USB ブートさせて環境を整える

 PC を再起動させたらまた F11 を連打してブートメニューを表示させ、今度は Ubuntu の入った USB メモリを選んで UEFI ブートさせた。

Prime95 (mprime) の準備

 端末を開いて次の様にコマンドを打ち込む。

mkdir mprime
wget http://www.mersenne.org/ftp_root/gimps/p95v294b8.linux64.tar.gz
tar xzf p95v294b8.linux64.tar.gz

 実行していく様子は次のスクリーンショットの通り。

温度監視に psensor をインストール

 ストレステスト中に CPU の発熱具合も一応気を付けていた方が良いので、監視ツールとして psensor をインストールした。

sudo apt install psensor

 コマンドひとつでサクッと入る。
 これを画面左下のアプリケーション表示アイコンをクリックし、表示されたアプリケーションから Psensor を探してクリックすると起動するので見やすいようにリサイズしたりしておくと良い。

 Ubuntu 18.10 は Ryzen 対応の Kernel であることからセンサー周りも問題なく対応しており、Tctl や Tdie の値を読んでくれる。

ちょっとした注意事項

 インストールメディアから起動した Ubuntu は home など一部のディレクトリはメモリ上に作成されたファイルシステムを用いる為、再起動など行うとダウンロードした Prime95 やインストールした Psensor は綺麗さっぱり消える為に毎回同じ手順を踏む必要がある。
 なので Windows10 上で USB メディアを作成した時点で Prime95 (mprime) だけでも /boot あたりにこっそり忍ばせておくと毎回ダウンロードする手間が省けるようになるかもしれない。

メモリのストレステストを行う

 上記項目で環境が整ったらあと Prime95 を起動する。
 ファイル名は mprime となっており、これを次の様に実行する。

./mprime

 起動後に行われる最初の問い合わせ「Join Gimps?」の所だけ n と入力し、あとは全てデフォルトで構わないので Enter のみを押していくとメモリのストレステストに最適な Blend テストが行われる。
 「Accept the answers above?」の所で Enter を押すと素数の計算が開始され CPU とメモリの両方に対して負荷が掛かりはじめる。
 次のスクリーンショットの様に Windows 上で起動した Prime95 と同様の見慣れたログが出力される。

 終了する為には端末をアクティブにした状態で Ctrl+C を押すと演算を停止してメインメニューが表示される。ここで 5 と入力して Enter お押すと mprime が終了する。

 実際にストレステストを行っている状況は次の写真の通り。スクリーンショットを取ってファイルのやり取りが面倒だったので直撮り。

 エラーが発生すると演算している該当スレッドが停止するのでエラーメッセージも当然だが CPU 使用率も見ておくと良い。
 あとは CPU の冷却が追いついていないとサーマルスロットリングが発生するなどして想定通りの負荷が掛からない可能性もあるから発熱にも一応気を付けておこう。

 そして今回、この Prime95 Blend テストに関してはとりあえず 1 時間エラー無しという所で停止した。それだけエラー無しであれば殆どの場合、メモリが原因で動作に不具合が起きると言う事も無いという経験則に基づく判断なので必要に応じてもっと長く行うのも良いだろうと思う。

更に Windows10 上でもストレステスト

 既に Ubuntu 環境で Prime95 Blend テストを通っている為、安心して Windows10 を起動可能となる。
 ここで更に追い打ちと言わんばかりに CPU:OCCT を 1 時間ほど実行してノーエラーである事を確認した。

 これにより Ubuntu 上で Prime95 Blend を 1 時間 (若しくはそれ以上) パスすれば Windows10 上でもまぁまぁ問題はないだろうという適当な判断材料になるかなと思った。

 尚、このメモリ設定にて 24 時間以上サブマシンを起動したまま普段通りに使っているが何一つ問題は起こってない事から「安定動作している」と判断しようと思う。このまま常用ということで。

おわりに

 Ryzen が出る以前なら「メモリの OC なんて――」で何も触れずに来た為、未だに分からない事の方が多い分野だが Ryzen 系も情報がかなり出きっているのでググれば何とかなるから情報にも恵まれてきたなと思った。

 ひとまず今回の企みとした目標 DDR4-3200 CL16-18-18-18-38 はメモリ電圧 1.380V、SoC 1.185V という設定も合わせて達成することが出来た。
 更にメモリのストレステスト環境を考えて実行した結果としても満足行く物が得られたので、今後もメモリのストレステストは USB ブートさせた Ubuntu 上で行っていこうかなと考えている。
 何よりメモリの動作がギリギリでエラー吐いたりしてシステムファイルやら破壊されたとしても、USB メモリをまた作り直すだけで済むから非常に楽で良い。
 Windows10 のバックアップを取ってストレステストを終えたらリストアって言うのは時間と SSD の TBW を考えると色々無駄があると思うだけに今後は避けたい感じだ。

おまけ的な

 DDR4-3466 にも挑戦してみた物の CL20 にて Memtest86 1Pass こそクリアしたけど Ubuntu 上のストレステストで即死だった為に断念した。
 APU だからメモリ帯域よりも Infinity-Fabric のクロック稼げた方が良いなと思ったがそうも上手く行かずなようだ。

スポンサーリンク

コメント

タイトルとURLをコピーしました