サムネイルキャッシュが一定容量を超えるとゼロクリアされます

Anonymous
2009-11-28T20:31:34+00:00

Win7 HP 64bitです。アップグレード版、VISTA HP 32bitの上にクリーンインストールしました。

私はデジカメ趣味なので画像ファイル(元はRAWファイル(NIKON NEF形式)ですが観賞用はJPEGファイルに変換)を数多く保有しており、フォルダを細分化して保存しています。フォルダは96pixelの「大きなアイコン」表示としており、サムネイル表示されます。初回に開いた時はサムネイルが上からパッパッと順次表示されますが、それはキャッシュされますので次回以降は一瞬で表示され快適です。しかし時々キャッシュがゼロクリアされるため、2回目以降であっても再度サムネイル表示をし直すという現象が発生しています。

WinXPの頃はフォルダごとに Thumb.dbファイルが作成されていましたが、Win7ではそれがなく、調べたら、

C:\Users\ユーザー名\AppData\Local\Microsoft\Windows\Explorer に、一括保存されていることが分かりました。ファイル名はサイズ毎に決められており、デフォルトでは thumbcache_32.db、thumbcache_96.db、thumbcache_256.db、thumbcache_1024.db の4ファイルです。同じフォルダ内に、thumbcache_idx.dbなど複数のファイルもあります。

大きなアイコン表示なので、キャッシュが蓄積されると thumbcache_96.dbの値が増加してゆきますが、経験的に 500MBほどを超えると、何らかのきっかけでこれらがゼロクリアされ、再度 1KBに戻ってしまいます。そうなるとフォルダを開いたときにサムネイルキャッシュを一から作り直すこととなります。

そのため容量の上限規定があるのかとレジストリを調べたら、

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\ThumbnailCache

の中に同様に、MaxCacheFileSize32、MaxCacheFileSize96、MaxCacheFileSize256、MaxCacheFileSize1024の4キーがあり、通常設定は DWORD値「0」となっていました。

そこで実験的にいずれも DWORD値を「2000000000」 (2GB ? と推定)に変更してみました。

そうするとキャッシュは800MBくらいまで増え続けますが、それを超えるとやはりゼロクリアされてしまいます。

サムネイルキャッシュの上限値の設定方法をご存知の方がいらっしゃれば、ご教示いただきたくお願い致します。

WEBなど色々調べましたが、これに対する解は見つかりませんでした。また、VISTAの時はこの問題はなく、意識していませんでした。

家庭向け Windows | 以前の Windows バージョン | ファイル、フォルダー、ストレージ

ロックされた質問。 この質問は、Microsoft サポート コミュニティから移行されました。 役に立つかどうかに投票することはできますが、コメントの追加、質問への返信やフォローはできません。

0 件のコメント コメントはありません

45 件の回答

並べ替え方法: 最も役に立つ
  1. Anonymous
    2012-07-29T20:08:27+00:00

    諦めたと同時にレジストリを完全に元に戻したのち1時間以上縮小表示(必要限度内)作成しました。

    いろいろなことをやってきたなと感じていたらUnjash2様のご返答に気づいてもう一度(Cドライブのプロパティでディスクのクリーンアップ及びCCleanerを実施した後)ご指摘のレジスト変更をして再起動後縮小表示をまた1時間ほど作成をして、再起動したのですが、

    私の自作PCではまたファイルがリセットされていて精魂尽きました。

    これで最後にいたします いろいろなことを教えて頂き有り難う御座いました。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません
  2. Anonymous
    2012-07-29T13:35:45+00:00

    CCleanerでレジストリの不具合をすべて修正したことでブラックアウトしなくなったのなら、ブラックアウトの原因がレジストリにThumnailCacheのキーを追加したこととは限りません。

    また、CCleanerでレジストリの不具合をすべて修正したことで、「再起動で戻ってたサムネイルキャッシュがドライブを開いただけでリセットされるようになってしまう」という問題も解決されている可能性もあります。

    私の環境ではレジストリにThumnailCacheを追加し、以下の設定を行なって10日経ちますが、サムネイルキャッシュはリセットされていません。

    Location="D:\Cache"

    MaxPercentageOfFreeSpaceForRebalancing=1000

    MaxCacheFileSize256=2000000000

    なので、レジストリに以上のキーを追加することが不具合の原因とは限らないと思います。

    縮小表示に二時間かかるなんてやってられませんね。諦めずに頑張ってください。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません
  3. Anonymous
    2012-07-29T12:41:07+00:00

    有り難う御座います。 早速CCleanerをインストしてLocationを開いてもブラックアウトされなくなりました。

    しかし 今までのご返答頂いた設定など再起動ごとに生じたリセットでの縮小ファイ作成にかかった(縮小表示に約2時間かかります)が、無になってしまったことだけが残念に思われます。

    結局OSの問題(サムネキャッシュをCドライブに統合しなおかつ強制類セットによる時間の浪費とSSDの消耗は、WIN7のユーザーへのストレスの根源と時間の無駄使いの何者でもないことと感じられます。

    長々と問題解決に力を貸して頂いて有り難う御座いました、元の状態でしかムリなようなので、SSDの予備とストレス解消ほうでも考えながらやっていきます。

    では 失礼します。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません
  4. Anonymous
    2012-07-28T20:12:40+00:00

    新しいソフトをインストールしておらず、バージョンも上げた覚えがないとのことですので、やはりレジストリの問題だと思います。

    レジストリの不具合を調査するソフト(CCleanerやNorton Utilitiesなど)を使用してレジストリの問題を解決してみてください。

    また、Locationを削除した後、ドライブを開いただけでサムネイルキャッシュがリセットされるかも試してみてください。

    そちらの書き込みの後半にあるレジストリの変更方法についてですが、フォルダーのサイズ、表示、アイコンまたは場所への変更が失われる問題とサムネイルキャッシュに関する問題とは関係がないと思います。よって、記述されているレジストリの変更を実施しても状況は改善しないと思います。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません
  5. Anonymous
    2012-07-28T18:17:22+00:00

    幾度も有り難う御座います。

    ご指摘の ”ThumbnailCache内にあるLocation以外のレジストリを削除する。” を試しましたがやはりリセットされて2度目の再起動後レジストリエディタでLocationを開くと同時になぜかブラックアウトになりました(強制再起動)それで蓋を開けてみたら拡張メモリーが とても熱くてビックリしました、他の作業は(FULL画面動画再生やこのコメント記入)殆ど熱くなりません、CPUとGPUの温度はガジェットで随時みれます(40度くらい、メモリーの温度を表記するソフトがありません)

    レジストリエディタで ”ThumbnailCache Location” 以外のものは開けます。

    Locationは開かなければ削除はできると思いますが、何か他にも影響が出ないか心配になってきました(削除するともとのCドライブにファイルができてしまう)

    他にレジストリーの変更という検索でありましたができたら感想をお願いします。

    Windows Vista または Windows 7

    1.次のレジストリ サブキーを削除します。

    ◦HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\Bags

    ◦HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\BagMRU

    ◦HKEY_CURRENT_USER\Software\Microsoft\Windows\ShellNoRoam\Bags

    ◦HKEY_CURRENT_USER\Software\Microsoft\Windows\ShellNoRoam\BagMRU

    ◦HKEY_CURRENT_USER\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\BagMRU

    ◦HKEY_CURRENT_USER\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\Bags

    x64 ベースの Windows Vista または Windows 7 では、次のレジストリ サブキーを削除します。

    ◦HKEY_CURRENT_USER\Software\Classes\Wow6432Node\Local Settings\Software\Microsoft\Windows\Shell\Bags

    ◦HKEY_CURRENT_USER\Software\Classes\Wow6432Node\Local Settings\Software\Microsoft\Windows\Shell\BagMRU

    2.次のレジストリ サブキーを再作成します。

    ◦HKEY_CURRENT_USER\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\BagMRU

    ◦HKEY_CURRENT_USER\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\Bags

    x64 ベースの Windows Vista または Windows 7 では、次のレジストリ サブキーを再作成します。

    ◦HKEY_CURRENT_USER\Software\Classes\Wow6432Node\Local Settings\Software\Microsoft\Windows\Shell\Bags

    ◦HKEY_CURRENT_USER\Software\Classes\Wow6432Node\Local Settings\Software\Microsoft\Windows\Shell\BagMRU

    3.手順 2. で作成したレジストリ サブキーで [BagMRU Size] レジストリ値を作成してから 5000 に設定します。

    よろしくお願いします

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません