本家いなてい

本家いなてい

日本ブログ村の政治ブログ・民進党(旧民主党・旧維新の党)で常時1位の誉れ高いブログ(なおエントリー数は2ブログ)

01/14追記:Windows11 リリースを期に、ディスクをSSDに換装しようと思ってる人へ

データ ストレージ, Ssd, ハードドライブ, メモリー, サンディスク, X110

 

10/5に、Windows11 の公式版がリリースされます。

 

これを期に、ハードディスクをSSDに換装しよう!と思っている人もいるかと思います。

 

但しSSDによっては Windows の初期設定にきちんと対応していない製品があり、その場合、書き込み負荷が100% Busy となり操作不能になる等の現象が発生します。

 

そのような現象が発生し、Fetch 無効化やデフラグ等一通りの対処を行っても解決しなかった場合、ここに書いてある手を試してみてください。

 

 

 

 

 

SSDはギガ単価が高いので・・・

 

SSDはギガ単価が高いので、やはり少しでも安い製品を買いたくなるのが人情というもの。

 

ハードディスクと違って可動部がないので、まあ知らんメーカーのでもそんなに危険無いやろ。と思って、単純な価格比較で買ってしまう人もいるかと思います。

 

私です!

 

事情はちょっと異なるのですが、春先にノートPCのSSDの挙動がおかしくなった(コントローラがイカれた)ので、はやめに換装したわけです。

 

その時購入したのが、ウィンテンのWT200という製品。

 

 

 

 

1~2日毎に、Disk Write Busy 100% が発生し、操作困難になる

 

BIOSからの新SSDの認識は問題なし。Windows10 のインストールも、ディスク換装程度ならちゃんと同一機として認識してくれるので正常に認証。旧ディスクのデータ救出も、早期のリカバリーだったため2日程度のエラー&リトライの繰り返しで無事に完了しました。

 

それで喜んで使っていたのですが、どうも1~2日毎に、ほぼ操作不能になる負荷が発生する。こうなると、電源の強制切断をしないと使い物にならない。

 

仕方ないので thilmera 7 を常時起動させて様子を見たところ、異常な高負荷が発生した時は必ず Disk Write が 100% Busy になっていることが判明しました。

 

thilmera.com

 

 

念の為、「ディスク負荷」と聞いてディスクの空き容量が足りなくなったのだと勘違いする人がいますがそういうことではなく、一定時間内にディスクへ読み書きできる容量が上限に達してしまうことを指しています。

 

 

 

古いSSDは Windows から電源管理できない

 

そこから半年にわたって様々な手段を講じてきましたが、問題はまったく解決せず・・・

 

・・・と思ってあきらめていたのですが、最後の最後、駄目もとで電源管理の設定をいじったところ、一週間程度ですが問題が再発しなくなりました。

 

そこで、もし WIndows11 などを期に SSD を換装し、いきなり高負荷にみまわれた時などはこの手を試してみてください。

 

 

 

Windows10 (たぶんWindows11 も) は、SSD の省電力運用を行うため、LPM(Link Power Management) という機能を実装しています。

 

この LPM には HIPM (Host-Initiated  Power Management) と DIPM (Device-Initiated Power Management) の2種類があるのですが、とりあえずそういうもんがあるとだけ知ってればいいです。

 

Windows 10 はこの設定が HIPM となっている上、設定画面が隠されているため、こんな設定があること自体なかなか気がつきにくいという・・・

 

それで HIPM に対応していない SSD を接続して WIndows10 を使っていると、何かのおりに、SSD が動作しているにも関わらず Windows が SSD への給電をやめてしまい、異常動作につながる・・・ということらしいです。

 

 

隠された設定画面を表示する

 

この設定を無効にしてやれば異常は解決するのですが、問題はこの設定画面が隠されていること。

 

レジストリをいじってやればこの設定画面を表示することができるのですが、面倒なのでフリーソフトを使用しました。

 

dnki.co.jp

 

 

 

 

このソフトをダウンロード・解凍し、「SSD最適化設定.exe」を実行します。

 

左上「SSDの最適化設定」を押し、次の画面で右中段「手動設定」-左中程「LPMチェック」を押します。

 

そうすると接続中のSSDの型番、および HIPM や LIPM のサポート状況が表示されます。

私が買った WT200 は、どちらも「未対応」。

 

ここが HIPM に対応していない場合はこの手順で解決する可能性が高いです。

 

その場合、「LPM 設定の呼び出し」ボタンを押し、続いて表示設定「ON」ボタンを推した後、「電源オプションの呼び出し」ボタンを押します。

 

すると、Windows の「電源オプション」設定画面が表示されます。

 

 

Wndows 電源設定を変更する

 

電源プランの選択またはカスタマイズ」画面から、「プラン設定の変更」リンクをクリックします。

 

そこから更に、「詳細な電源設定の変更」リンクをクリックします。

 

すると「電源オプション」画面が表示されるのですが、その中の「ハードディスク」-「AHCI Link Power Management - HIPM/DIPM」の箇所に「バッテリ駆動」という項目があります。

 

ここを「Active」に変更すると、SSD へ常に電力が供給されるようになるため、異常高負荷問題が解決するようです。

 

 

 

おわりに

 

この設定はなかなか気がつきにくいものなので、今回とくに書いておきました。

 

ディスク高負荷の原因は他にあることのほうがはるかに多く、例としてインデックス処理の見直し、ディスク最適化、不要ファイルの削除・クリーンアップ、ウィルス対策ソフトのスキャン対象見直し、自動起動タスク類の見直しなど一通り実施し、それでも駄目な場合これを試してみるような形にすべきだと思います。

 

 

 

10/04追記:高負荷再発しました

 

一週間程度現象が再発しなかったので大丈夫だと思ってこのエントリーを書いたのですが、書いたとたん早速再発しました。

 

まあ、今回は Disk Write 100% の状態が 10秒も続かず、しかも 100% と言いつつ多少の入力は受け付けていたので、通常の高負荷の範囲内でしたが・・・

 

(ここで100%再発中。但し、このコメントを書くことはなんとか出来る・・・と思ったら、どんどん酷くなってきた)

 

今までと異なるのは、作業終了時に Windows をきちんとシャットダウンしていないことぐらいか・・・?

 

カバーを閉めた場合の動作は「シャットダウン」設定にはしてあるが・・・

 

 

 

10/14追記:Windows Defender をあきらめてみる

 

負荷問題を調べていくと、「タスクマネージャーで原因を調べましょう」という記述に必ずぶち当たるかと思います。

 

こういう記事を書いてる人って実際に問題調査したことがあるのか疑っているのですが、なぜかというと「負荷問題が発生している間は、そもそもタスクマネージャーが起動しにくい」「起動しても情報がなかなか更新されない」「ようやく動いた時には原因が解消しているため調査できない」ためです。

 

今回は  thilmera 7  を常駐させておくことでなんとか Disk Access(Write) の負荷が 100% になっていることがわかり、その後タスクマネージャーを常駐させ、原因プロセスが System であることが判明しています。

 

さらっと書いていますが、ここまで半年かかってます。

 

その間 SSD の LPM 問題に該当するハードであったためここの設定を修正。結果的に負荷100%は再発しましたが、これにより高負荷が発生した場合でも数分で解消するようになり、また特定のプログラムが負荷に寄与しているらしきことがわかりました。

 

※タスクマネージャ上では、該当プロセスはディスク負荷をかけていない。にも関わらず、このプロセスが起動している場合に高負荷が発生しやすく、止めると解消しやすい

 

更に調査を続けたところ、System プロセスの高負荷はどうも Windows Defender が Temp ディレクトリに延々とファイルを書き続けているらしきことが原因である情報を得ました。

 

Temp ディレクトリ内には大量のゴミが存在したためこれらは削除したのですが、ここにファイルが作成されたのは問題の「結果」であり、原因ではありません。当然、問題は再発しました。

 

この問題が Windows Defender 起因である場合、フリーのワクチンソフトをインストールしてやればいいのですが、実は以前、AVG Free をインストールしたものの問題が再発したためアンインストールしています。

 

LPM 問題の対策をしてからは試していなかったため、現在 Avast Free をインストールして様子を見ています。半日経過して、現象は再発していません。この状態で様子を見てみます。今後更新がなければ、解決したものだと考えてくださいまし。

 

AVG ではなく Avast にした理由は、単に以前 AVG で問題が再発しているため抵抗があったためです。LPM 解消したから大丈夫かもしれん。

 

 

 

10/24追記:高負荷問題再発!しかし・・・

 

その後、Disk Write 100% が再発したのですが、数分で治まったので状況が改善したものと判断して放置・・・しかし結局、10分以上の高負荷現象が再発していました。

 

こうなると電源の強制断しか手がなくなるのですが、この時必ず破損するファイルがありました。

 

 

github.com

 

ウマ娘のツールで UmaUmaCruse というものがあり愛用しているのですが、どうも高負荷・強制電源断の後、以下のファイルが必ず破損していました。

  • CharaFavoriteRaceList.json
  • setting.json

 

これにより、ソフトが起動しなくなる・・・という問題があったのですが、この2つのファイルを削除して起動しなおせば、初期化した状態で起動するような状態でした。

 

 

github.com

 

[fix] スタートとストップを繰り返すとメモリリークするバグを修正

 

10/23 に UmaUmaCruse のバグサフィックスが行われました。

このバグが高負荷問題の原因であるかは不明ですが、メモリリークによる Swap の書き込みが永続的に行われることにより、Disk Write Busy 100% となる可能性はある?

 

と考え、現在最新版を起動したまま様子見中。

 

 

 

01/14追記:LPM問題に再度挑戦してみる

 

その後もSSDの謎の高負荷問題は日に2,3回発生している状況だったのですが、どうしようもないのでPCを買い換えるべく、ディスク内容のバックアップを開始。そしたら確実に問題が発生する。

 

USB接続のHDDやフラッシュメモリに書き込む際にも現象が再現しているので、問題はSSDへの書き込みではなく読み込みのほうに問題があるようですね。

 

そこで、 Windows10 SSD Read 100% などをキーワードに調査し、LPM 問題にまたぶち当たりました。

 

レジストリエディタで、以下の項目を開きます。

 

コンピューター

\HKEY_LOCAL_MACHINE

\SYSTEM

\CurrentControlSet

\Control

\Power

\PowerSettings

\0012ee47-9041-4b5d-9b77-535fba8b1442

\0b2d69d7-a2a1-449c-9680-f91c70521c60

 

この中の Attributes の値を、1 から 0 に変更します。

 

f:id:inatei:20220114092920p:plain

 

 

続いて、電源オプションの設定。

[Win キー + X] → [電源オプション(o)] を開きます。

そこから[電源の追加設定]のリンクを押し、起動した[電源オプション]ウィンドウから 使用中のほうの [プラン設定の変更] リンクを押し、[詳細な電源設定の変更]のリンクを押します。

 

ハードディスク項目に [AHCI Link Power Management – HIPM/DIPM] という項目があるので、これを [Active] に設定。

また [次の時間が経過後ハードディスクの電源を切る] を 0 に設定します。

 

f:id:inatei:20220114093418p:plain

※この図は問題のマシンとは別の環境でキャプチャしているので項目がありませんが、SDD 環境であればハードディスク項目に [AHCI Link Power Management – HIPM/DIPM]が出てきます。 

 

さきほどこの辺をいじって再起動。USB へのバックアップを行った限りでは、現象は再発しませんでした。

 

これであらためて様子見・・・