since 2007.8 by K-ichi

夏の記事でも触れているが、Bloggerの投稿画面が大改編された。
当初は7月にも、と言われていたが延期。9月に旧UIへのリンク削除、10月には新UIへのリダイレクトがなされ、完了した。YouTubeではすでに、YouTube StudioなるIE強制排除が完了しているが、BloggerでもIE11が使えなくなってしまった。

仕方なく移ったChromeだったが、しかし使ってみれば拡張機能がけっこう便利。動画ゲッター(動画をローカルに保存)やストリームレコーダー(ストレコ。ストリーミングを録画保存)などは、「スクリーンショットの動画版」的なツールで手放せない。
ストレコでは、録画後に保存操作をする。ところがここで、エラーが出るようになってしまった。「ネットワークエラー」とあるだけで、ググっても情報が無い。しつこくリトライすると回復することもあるが稀。ライブ録画では代えも利かないので、痛い。

はっきりした原因は判らないが、どうもブラウザのキャッシュに余裕を持たせないとダメっぽい。その対処についてのメモを残しておく。
なおこの記事は、Win7 proを基本に書いているので、最新OSでは異なる部分があるかもしれない。




あれこれ探ってみると、Chromeはキャッシュをインストールドライブに持っているらしい。そのドライブの空きの半分ぐらいまで一時データが溜まると、エラーがおきやすい感じがする。
Chromeのキャッシュについてググってみると、別ドライブに移す方法があるとのこと。いくつかのページの情報をまとめる。

キャッシュは、以下のパスに置かれることが多い。

C:\Users\XXX\AppData\Local\Google\Chrome\User Data\Default\Cashe
XXXは、現在のユーザ名が入る。後述でも同じ。Defaultの部分はProfile 1などに変わることもある。Cacheの他には、Code CacheMedia cacheなど複数種ある。ただし、すべてが存在するわけではない。

キャッシュフォルダの変更は、Chromeを起動するショートカットにパラメータを付加すればできる。
ショートカットの中には、以下のようなパスが書かれているので、濃いピンクの部分を追記する。ここではJドライブに専用フォルダを置くことにする。

"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --disk-cache-size=0 --disk-cache-dir="J:\Google Chrome\Cache"
~sizeの部分はキャッシュサイズをバイト数で指定する。0にすると無制限らしい。~dirで新たなキャッシュ先を指定する。ここで指定したキャッシュ先は、自動的に生成される。
ショートカットでアプリケーションにパラメータを渡しているので、このショートカットから起動した場合だけ、これらの指定は有効になる。




無事キャッシュが移動されたので一件落着、のはずだったのだがエラーが止まらない。DriveAnalyzerで確認すると、別のフォルダが膨らんでいた。

C:\Users\XXX\AppData\Local\Google\Chrome\User Data\Default\blob_storage
これはいつも膨らんでいるわけではなく、ある程度データが溜まると突然膨らみだす。

前述のショートカットによるものは、Chrome.exeが持つ移設機能を使っている。blob~に関しては情報が無い。そこでOSの機能を頼む。
Win7には、UNIX由来という「成り代わり機能」が複数ある。ここでは「シンボリックリンク」という機能を使う。
ショートカット、ハードリンク、ジャンクション、シンボリックリンクについては、ググるとかなりのページがかかる。ジャンクションについては、HDD逼迫記事でも見かけたが、深くは追ってなかった。

シンボリックリンクを作成するには、次の手順を踏む。


コマンドプロンプトを、管理者権限で起動する
スタートボタンから「cmd」で検索。cmd.exeが出てきたら右クリックし「管理者として実行」する。
シンボリックリンクを作るにはこれは必須。


mklinkコマンドを実行
コマンドラインで以下を実行する。

mklink /d "C:\Users\XXX\AppData\Local\Google\Chrome\User Data\Default\blob_storage" "J:\Google Chrome\blob-storage"
XXXはユーザ名を、J:\Google~は移動先のパスを指定する。

実行すると、Explorerのフォルダツリーにショートカットアイコンが出る。普通にフォルダへのショートカットを作っても、ツリー側には表示されない。

なお、blob_storage_oldフォルダは、念のためリネームして取っておいたもの。


結果を見てみる
ExplorerでJドライブを見てみると、ちゃんと作成されているのが判る。
前述のキャッシュの移動では、指定したフォルダ以下に\Default~が生成されるらしい。

コマンドラインからも、元のCドライブ、先のJドライブを確認してみる。
Cドライブ側は、<SYMLINKD>が見える。これがmklinkで作った実体。リンク先の記述もある。
Jドライブ側にも、blob_storageフォルダが作られているのが判る。こちらが実際に使われるフォルダになる。

blob_storageを移設したことで、まったくエラーは出なくなった。
ここではシンボリックリンクを使ったが、もしかしたらジャンクションでもできるのかもしれない。

前項のキャッシュフォルダの移設を、シンボリックリンクで行う方法も考えられる。起動するショートカットを限定しないので、たとえばメーラからブラウザを立ち上げるような場合にも有効にできる。
ただし移設結果を見ると、\def~のような想定外のフォルダ構造も移っている。今後もキャッシュ構成は変わるかもしれないので、ブラウザが管理するキャッシュの移設はブラウザにお願いするのが手堅い気もする。

記事を書きながら確認検索をしていたら、いまごろになってChromeのWikiが見つかった。起動オプションも大量に並んでいる。もっとスマートな方法があったのかも……

0 件のコメント:

コメントを投稿

.

関連記事


この記事へのリンク by 関連記事、被リンク記事をリストアップする」記事

ブログ アーカイブ