Lightroomの読み込みが異様に遅い/SDカードが取り外せなくなる

 LightroomでSDカードから画像を読み込む(Import)際、異様に時間がかかる事象が発生します。酷い時には10枚にも満たない数枚程度の読み込みで、何分も待たされることもあります。
 また、Lightroom終了後もSDカードの取り外しがエラーとなり、取り出せない事象が発生します。

 対症療法にはなりますが、これらの事象が発生した際の改善策が解ったので以下に記します。
 

対象環境

 WindowsLightroom CC 2015.6.1
 

インポートが遅い場合

  1. タスクマネージャなどで、dynamiclinkmediaserverというプロセスが動いていないか確認
    f:id:kachine:20160906221643p:plain
  2. リソースモニタなどで、当該プロセスがSDカードに過大なアクセスを発生させていないか確認
    (以下のスクリーンショットではDドライブがSDカード。キュー待ちが発生していることが解る。ディスク活動の欄をスクロールすると、SDカード内の複数の動画ファイルに対して同時アクセスを発生させていることが解る。)
    f:id:kachine:20160906221709p:plain
  3. dynamiclinkmediaserverのプロセスを強制終了

 上記手順はインポートが終わるのを待つ必要は無く、インポート中にdynamiclinkmediaserverのプロセスを殺して問題ありません。
 (もちろん保証はできませんが、少なくとも私の環境においてはカタログ不整合などの弊害は発生していません。)
 当該プロセスが終了した直後から露骨にインポートの進捗が速くなります。
 

SDカードが取り外せない場合

 インポートが遅い場合と同様の手順で、dynamiclinkmediaserverが動いていないか確認し、動いていれば強制終了してください。
 ※Lightroomの起動/終了とは非同期でdynamiclinkmediaserverは動作するようで、LightroomGUIから普通に終了し、実際にlightroomのプロセスが終了していても、dynamiclinkmediaserverが動き続けていることがあります。
 SDカードの取り出しを再試行すると、エラーは発生しなくなっているはずです(引き続き取り外せないようなら別な原因を調べる必要があります)。
 

dynamiclinkmediaserver.exeは何者か

 マルウェアなどではなく、Lightroomを構成しているAdobeのプログラムの一部のようではありますが、具体的にどんな機能を司っているのかは不明です。
f:id:kachine:20160906222904p:plain

 経験則から、上記のような問題が顕在化するのは、

  • SDカードに複数の動画ファイルが存在する
  • SDカードに巨大な動画ファイルが存在する

 上記いずれかの条件を満たした場合に、Lightroomで画像の読み込みダイアログを表示させると発生するようです(読み込みダイアログで、動画ファイルのチェックボックスを外しても事態は変わりません)。感覚的には動画ファイルの数が多いほど、動画ファイルのサイズが大きいほど悪影響が大きいように感じる気がします(動画の種類はMP4/AVCHDのいずれでも関係無さそうです)。

 私の環境で眺めている限りでは、

  • dynamiclinkmediaserver単独で、SDカード上の複数の動画ファイルへの同時アクセスを発生させる
    • SDカードのI/O帯域が逼迫
    • Lightroomの画像読み込みのために必要なディスクI/Oをスローダウンさせる
  • Lightroom本体の終了とは無関係に延々とSDカードのI/Oを占有する
    • SDカードへアクセス中のため、OSがSDカードを取り外させてくれない

 といった事象になっているように見受けられます。

 時期Updateでdynamiclinkmediaserverの挙動が改善されるとよいのですが、どうなることやら。
 



以上。