長年の悩みだったWebCacheV01.datの書き込みをやめさせる方法がわかったので書いておく
IEを使ってるわけでもないのにネットに接続するたび生成されるこのファイルは、XPの頃から厄介な機能の一つだったんですが、
このたび遅ればせながら8.1から10にOSを入れ替えまして、今まで使ってたFirefoxをそのまま使用したところ読み込みがやたら遅くなってたんです。
それで原因を調べたところ、Firefoxのキャッシュを読み込むたびにtaskhostw.exeが怪しい動きをしてまして。プロセスのスレッドをたどったところ、ESENTがdbになんかをコミットしてるらしく、それがどうもWebCacheのdbぽかったんですよ。
それでふとWebCacheフォルダをのぞいたところ、見つけました。Wininetがすごい量のログを吐き出してるのを。512KBの.logファイルがずらずらと、ちょっとweb巡回しただけでその容量1GB以上。
端からWebCacheフォルダごとRAMディスクの廃棄場に直行させてたので実害はなかったんですが、CドライブのSSDにそのまま置いてたらえらいことでした。
そこで最初はログを停止させる方法を調べてたんですが、その際偶然にもWebCacheそのものを完全に無効化させる方法を知ってしまいまして。
以下がその方法です。
[HKEY_CLASSES_ROOT\AppID\{3eb3c877-1f16-487c-9050-104dbcd66683}]
[HKEY_CLASSES_ROOT\CLSID\{0358b920-0ac7-461f-98f4-58e32cd89148}]
[HKEY_CLASSES_ROOT\WOW6432Node\CLSID\{0358b920-0ac7-461f-98f4-58e32cd89148}]
レジストリーエディタを開き、これら3つのキーをまるごと削除します。
そのままでは削除できないので、アクセス権を変更するために所有者を変更する必要があります。管理者でもユーザーでもどっちでもいいです、どうせ消すので。
これだけであの厄介なWebCacheは機能を停止しますが、念のためにタスクスケジューラの\Microsoft\Windows\WininetにあるCacheTaskも削除したほうがいいです。クラスIDを削除した状態でこいつが動き出すと、また余計なエラーを吐くだけなので。
無効にするだけでもいいんですが、勝手に有効になることがウィンドウズの場合よくありますから。
というわけで、Firefoxは8.1の頃と同じ動きを取り戻しました。
最初、win10 ネット 遅い とかで検索したらDefenderのせいだとかいう記事ばかりで、もとからDefender無効にしてる自分には当てはまらないしおかしいなと思ったんですよ。
案の定俺環だったわけですが、Wininetがログを吐き続けた原因もだいたいわかってます。実はIEを削除した状態でインストールしたんですよ、win10を。だからIEさえ入ってれば、WebCacheの機能がうざかったとしてもネットが遅くなることはなかったんですよね、たぶん。
けどIEを入れるとなったらまたインストールイメージから作り直しかーめんどくせーなーとか思ってて。まあ結果IEなしでもふつうにやってけることがわかったんでよかったです。
以上、WindowsのWebCacheを停止する方法でした。
不具合が出るたびにWebCacheV01.datを削除とか非効率なことをやってる人たちに教えてあげたい……