« Luvbook S でのbootchart(Bodhi Linux 編) | トップページ | Luvbook S 評価 »

2012/03/02

Chromium キャッシュをラムドライブで運用するスクリプト

以前にFirefox のキャッシュを自動的にRAM DRIVE に書きだして、終了時にホームディレクトリに書き戻すというスクリプトを書きました
月日は流れ、自分は全くFirefox を使わなくなりました。インストールさえしていないです。なので、同じ事をchromium でやってみるとどうなるかを書いておきます。
使用するのはUpstart スクリプトです。
以前のスクリプトと変わっていないので、問題点は以前のスクリプトのままです。

元々軽いEnlightenment 環境ですが、ラムドライブでキャッシュを運用する効果は絶大なので、すぐに効果が体感出来るはずです。
ただ、chromium がキャッシュに使用するドライブの空き容量を見て自動的にキャッシュ量を増減させているようで、ホームディレクトリにキャッシュを作っている時に比べてキャッシュ総量は少なくなる傾向にありました。
なので、通信回線が細くてキャッシュに頼っている人にはオススメしかねます。高速回線でかつRAM が余っている人向けですね。


  1. chromium の起動オプションを変更します
  2. スタートメニューの実体は、ホームディレクトリの .local/share/applications/chromium-browser.desktop です。これをleafpad 等で開き、Exec= 行を
    Exec=/usr/bin/chromium-browser --disk-cache-dir=/tmp/cache/chromium --memory-model=high %U
    に変更して保存します。--memory-model フラグ はメモリ使用量についてのオプションなので、メモリが厳しい人は付けないほうが良いです。もっともここで書いている内容(ブラウザキャッシュをラムドライブで運用すること)は、そもそも富豪的メモリ使用方法である訳ですが。

    次に、自分の場合にはWindows キー + 2 でchromium を起動するように設定しているのでそちらも変更。
    設定 → すべて → 入力 → Keys を開き、WIN +2 の値を、
    /usr/bin/chromium-browser --disk-cache-dir=/tmp/cache/chromium --memory-model=high
    に。関連付けについては、ホームディレクトリのキャッシュを見てくれればいいや、ということで変更していないです。

  3. 起動・終了時に動作するスクリプトを作ります。
  4. 名前はchromiumcache.conf にしました。例によってファイルを作ります。
    gksu leafpad /etc/init/chromiumcache.conf &
    以下のコードを記述し、yourusername部分を各自のログインユーザ名にして保存します。
    既にchromium を使用しており、ホームディレクトリにキャッシュファイルがあることを前提にしています。ない場合には、一度chromium をインストールして起動すれば作られるはずです。
    # chromiumcache.conf - backup script for chromium cache on tmpfs
    #
    # backup cache of chromium on shutodown/reboot
    # write back them on boot
    
    description	"backup script for chromium cache on tmpfs"
    
    start on runlevel [2345]
    stop on runlevel [06]
    
    env USERNAME=yourusername
    
    console output
    
    pre-start script
        mkdir -p /tmp/cache/chromium
        chown $USERNAME:$USERNAME /tmp/cache/chromium
        rsync -a /home/$USERNAME/.cache/chromium/Default/ /tmp/cache/chromium
    end script
    
    post-stop exec rsync -a --delete  /tmp/cache/chromium/ /home/$USERNAME/.cache/chromium/Default

  5. テストです。当然ですが、start時はchromium を起動していない状態で行います。
  6. sudo initctl start chromiumcache
    でとりあえずスクリプトがrunningになることを確認します。 /tmp/cache/chromium が無ければ作られるはずです。
    sudo initctl stop chromiumcache
    で、ホームディレクトリの .cache/chromium/Default 以下ファイルが更新されるのを確認します。
    再度startさせた後、ホームディレクトリの中のファイルを1つ別名に変えてstopさせてやると、別名に変えたファイルが自動的に消えて、元のファイルが戻るはずです。

    次に、 /tmp/cache/chromium 以下のファイルを適当にリネームし、
    sudo initctl start chromiumcache
    
    をやって、元のファイルが復元されるのを確認します。ファイル全部消して復元されるのを見てもいいですけどね。

  7. 最終確認は実際に再起動してみて下さい。
  8. /tmp/cache/chromium 以下にファイルが戻っていればOKです。
実行しないようにするには、/etc/init/ からファイルを消すなり、ファイルの中身をコメントアウトするしかないですね。

また、このスクリプトを作るためにchromium の設定を調べる過程で、GPU であるINTEL HD Graphics の動作がいろいろとよろしくないことに気が付きました。
3D やハードウェアアクセラレーションを一手に引き受けている mesa というパッケージが古いのが原因みたいです。Bodhi でサポートされているmesa は7.9 です。これは2010Q3 時期という2年も前の時代遅れなものでして、第2世代Core-i なんてサポートされている訳もないですね。

やっぱり最新のハードウェアの力を活かして、かつEnlightenment を使おうとすると自力でArch か、7月頃(?)にリリースされる予定のUbuntu 12.04 ベースなBodhi 2.0 を待つしか選択肢がないかも・・・。

« Luvbook S でのbootchart(Bodhi Linux 編) | トップページ | Luvbook S 評価 »

Bodhi Linux」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/28800/54114622

この記事へのトラックバック一覧です: Chromium キャッシュをラムドライブで運用するスクリプト:

« Luvbook S でのbootchart(Bodhi Linux 編) | トップページ | Luvbook S 評価 »