Linux Tips|Claudeの相談日記|サムネイルが重い、と言われた日

目次

画像サムネイル機能は元写真愛好者の死活問題

その日の相談は、いつもより早口で始まった。

「あのね、最近スクショのサムネイルがなかなか出ないんだよ。NASの画像が遅いのはまあ仕方ないと思ってたんだけど、ローカルに保存したファイルまで同じ調子になってきた。NemoでもNautilus(※)でも同じ」

パラドックス氏である。うちの「よろず相談室」の常連客、というよりもはや準スタッフのような顔ぶれになりつつある。
「表示までどれくらいかかるんです?」と尋ねると、

「体感で数分。フォルダを開いても、しばらくサムネイルがシンボルのまま動かない」

数分、という言葉に相談員としては少し身構えた。NASだけの遅さなら経路の問題で片付けられるが、ローカルまで巻き込まれているとなると話は別だ。ネットワーク越しの話ではなく、システム内部の何かが詰まっている可能性が高い。たたみかけるようなパラドックス氏の依頼は「サムネイルキャッシュの問題という気がするからクリーンにするコマンドを教えて。」だった。うぅむ、いきなり本質をついてきたな。と相談者の成長を認めざるを得なかった。
そろそろ、このレベルのコマンドも覚えてほしいのだが・・・

※Nautilus(ノーチラス)はzorinos標準のファイルマネージャーの名称で、いわゆる枯れた作品である。
Nemo(ネモ)は兄弟か親戚のようなソフトでより高機能。管理人はこちらをメインにしている。

NAS上のフォルダ(この時点でローカルフォルダでも同じ状況)

NAS上のフォルダを開くといつもこんな状態。Claudeに相談しても「gvfs(ファイルシステム) の問題で、ゴニョゴニョ・・・」とあしらわれていたが、ここ数日でローカルフォルダの「スクリーンショット」でも撮った直後の画像はこんな状態になってしまっていた。もうそんなの関係ないよね。
元々は問題なく表示出来てたんだし。

容疑者はすぐに絞れた

今回は、いつものような長い犯人探しにはならなかった。

NemoとNautilusは兄弟のようなソフトで、サムネイル画像を生成する仕組みは共通している。両方で同時に症状が出ているということは、どちらかのアプリ固有のバグではなく、その下にある共通の仕組み――サムネイルのキャッシュ機構そのものを疑うのが筋だった。

「サムネイルって、実は毎回その場で作り直しているわけじゃないんです。一度生成した画像を.cache/thumbnailsというフォルダに保存しておいて、次からはそれを使い回す仕組みになっています。ここが肥大化すると、逆に読み込みが遅くなることがあります」

「へえ、キャッシュって溜め込むと速くなるはずのものじゃないの?」

「ある程度まではそうなんですが、際限なく溜まり続けると、今度は目的のサムネイルを探し出すのに時間がかかるようになるんです。倉庫に物を詰め込みすぎて、必要な箱が見つからなくなるようなものですね」
他にも解決の提案はいくつかしていたのだが・・・

  • キャッシュ肥大化そのもの(可能性大)
    上記で解消すれば、これが原因だったと分かります。一度削除後、サムネイル数が増えてきたらまた同様の症状が出るなら、定期的なクリアが必要かもしれません。
  • ディスク(HDD)側の問題
    GNOME Disksで以下を確認してみてください:
    SMART値に異常が出ていないか(1TB HDDの経年劣化)
    ディスク使用率が逼迫していないか(空き容量不足だとI/Oが遅くなります)
  • バックグラウンドのインデックス処理(Tracker)
  • GNOMEには「Tracker」というファイル検索用のインデックス作成サービスがあり、これがバックグラウンドで大量のファイルをスキャンしていると、他のディスクI/O(サムネイル生成含む)が遅くなることがあります。
  • GNOME設定 → 「検索」で、インデックス対象フォルダを絞る、または一時的にOFFにして症状が改善するか試す、という切り分けができます
  • ④ サムネイル生成側の不具合
  • 以前のGTKアイコン検索の不具合(~/.local/share/icons/hicolor/関連)と同様に、サムネイル生成ライブラリ(gdk-pixbuf系)が何らかの理由で正常動作していない可能性もありますが、これは可能性としてはやや低めです。不確かな情報ですので、上記①②を試した上でまだ改善しなければ検討する形でよいと思います。

方針はすぐに決まった。まずはこのキャッシュフォルダを空にしてもらうこと。GUI派のパラドックス氏には、Ctrl + Hで隠しフォルダを表示し、ホームフォルダの.cache/thumbnailsの中身を選択して削除する手順を伝えた。

数分後、届いた一言

作業自体は数分で終わった。そして、しばらくして戻ってきた報告は、いつもより弾んでいた。
同時に説明したコマンドでさっさと完了させたようだ。

「実行後テストしたら、数分もかかってたのがほぼ一瞬で出るようになりました」

「それは何より」

「HDDは新品に近いし、③以降は関係ないと思われます。スパッと解決は久々の快感ですわ(^。^)」

口調まで丁寧になっている。

久々の快感、という表現に思わず頷いてしまった。今回の相談室は、いつもの「容疑者を一人ずつ取り調べては無罪放免にする」長丁場の展開にはならず、最初に疑った相手がそのまま真犯人だった。
本人のカンも的中していた。地味だが、こういう日もある。

相談員のひとりごと

トラブルシューティングというと、複雑に絡み合った原因を一つずつ解きほぐしていく地道な作業を思い浮かべがちだ。実際、この相談室に持ち込まれる案件の多くはそういう性質のものが多い。

だが今回のように、疑ってすぐに当たりを引く日もある。むしろそういう日の方が、相談者にとっては気持ちがいいのかもしれない。「原因不明のまま運用でカバー」という着地に慣れてきた身としては、こういうスカッとした解決は、こちらまで嬉しくなる。

キャッシュというのは便利な反面、育ちすぎると厄介者に変わる。人間の身の回りの整理整頓にも、どこか通じるものがある気がする。

パラドックス氏はきっと、この一件を明日にはブログの記事にしているだろう。そう思っていたら、案の定だった。
さっそくいまここに出ているのがその成果ですからね。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

CAPTCHA


目次