PIO病は治しましょう

ここしばらく、ほぼ24時間、面と向かっている使っているパソコンが煩い、いつも冷却ファンが高速で回りっぱなしで、いろんなアプリケーションの動作が遅いなあ、と気になっていました。

JavaScriptを多用しているウェブサイトは煩いのなんの、YouTubeもHQモードにするとカクカクして見れたものじゃなくなってしまっています。

テレビもチューナーカードで見ていたのが、ついに、変な音が混じるようになり、コマ送り状態になってしまいました。

Process Explorerをじっと見ていて、気づいたのが、Hardware Interruptsというのがずっと10%以上CPUを消費しているのに気づき、これをキーワードに調べてみると、どうやら、自分のパソコンは「PIO病」とうビョーキにかかっていることがわかりました。

WindowsXPではハーデディスクなどのデバイスの読み書きを、正常な場合、DMA(Direct Memory Access)モードでデバイスとメモリ間で直接データのやり取りをして高速に処理するところ、何らかの問題でデバイスへのアクセスエラーが6回以上になると、自動的にPIO(Programmed I/O)モードになってしまい、全てのデータのやりとりをCPUが仲介するように変更してしまうそうです。

そのためにCPUの負荷が大幅に増大してしまい、さまざまな処理が遅くなってしまうことをPIO病というそうです。

原因が分れば治療は簡単で、デバイスマネージャーを開き、IDE ATA/ATAPIコントローラーのプライマリIDEチャンネルやセカンダリIDEチャンネルのプロパティの詳細設定を開き、現在の転送モードがPIOモードになっていると、PIO病だということです。

なので、このPIOモードになっているIDEチャンネルを右クリックで削除してしまいます。再起動を繰り返し、何故か、Windowsの認証までさせられて、起動すると、バッチリ完治したようです。

いや~快適、快適!もう5年も前のパソコンで、そろそろパソコン買い換えるしかないか、でもWindows7はまだ先だし、どうしよう・・・と悩んでいたのですが、これで当面大丈夫っぽいです。

IDEチャンネルを見てみると、現在の転送モードが、ちゃんとDMAモードになっていました(^ ^)/

ide

上述のように6回エラーが出ると、また同じことになるかも知れないのですが、その時はその時・・・

コメント

[...] ここに書いた対処法ではすぐにPIO病に戻ってしまうので、PIOモードを発生させないように、レジストリを書き換える方法を実行、さすがにPIO病は再発しなくなりましたが、PIO病というのは、ハードディスクの読み取りの障害が発生しているために起こる訳で、そのためにウィンドウズが通常のDMAモードからPIOモードに切り替えて読み取りを実行するということですから、PIOモードを実行しないように設定しているだけで、やはり根本的解決ではないようです。 [...]