TmpFSを使用したFirefoxのオーバークロック

FirefoxはSQLiteを使用してほとんどのサービス情報を保存するため、作業が著しく遅くなります。 システム内の他のプロセスがディスクのIO操作をアクティブに使用している場合、FirefoxはSQLiteデータベースにアクセスしながら「フリーズ」します。
ただし、TmpFSを使用してFirefoxプロファイルをRAMパーティションに移行するソリューションがあります。

注:このソリューションはこのフォーラムで提案されました。 それを少し修正して、rsyncを使用してRAMとハードドライブ間でFirefoxプロファイルを同期するソリューションを公開しました。

そのため、プロファイルを準備し、簡単にします。 FF設定に対する次の変更がソースで推奨されています(FFのconfigに移動して):
set browser.cache.disk.capacity to 20000
set browser.safebrowsing.enabled to false
set browser.safebrowsing.malware.enabled to false


* This source code was highlighted with Source Code Highlighter .

次に、プロファイルを別のディレクトリにコピーします。 デフォルトでは、プロファイルは〜/ .mozilla / firefox /にあり、xxxxxxxx.defaultのように見えます。
プロファイルに名前を付けて新しいディレクトリを作成し、作成したプロファイルフォルダーに実際のプロファイル(xxxxxxxx.default)の内容をコピーします。
ただし、その前に、プロファイル内のurlclassifier * .sqliteの形式のファイルを削除し、ブラウザーのキャッシュをクリアします。
cd ~/.mozilla/firefox/
mkdir profile
cd xxxxxxxx. default /
rm -f urlclassifier*.sqlite
cd ../
cp -r *. default /* profile/


* This source code was highlighted with Source Code Highlighter .


注: 1つのFirefoxプロファイルがあることが理解されます。 少しでも-心配しないで、このガイドは他のFirefoxプロファイルに簡単に適用できます。
将来、プロファイルxxxxxxxx.defaultを使用することに留意してください。ただし、実際には、Firefoxでプロファイルの名前に置き換えます。
同じことがシステム内のユーザー名にも当てはまります。このマニュアルでは、名前xxxxが使用されていますが 、これは実際にはシステム内のユーザーの名前を意味します。

そこで、最も興味深い部分に進みます。

RAMパーティションを作成します。


/ etc / fstabファイルに次の行を追加します
firefox /home/xxxx/.mozilla/firefox/xxxxxxxx. default tmpfs size=128M,noauto,user,exec,uid=1000,gid=1000 0 0

* This source code was highlighted with Source Code Highlighter .

もちろん、ユーザー名、Firefoxプロファイルディレクトリ、およびシステム上のuidとgidに従って値を変更します。

RAMでのプロファイルのテスト


Firefoxを閉じる必要があるため、次の手順を覚えておく(または書き留める)価値があります。
Firefoxを閉じます。 次に、現在のプロファイルが実際に〜/ .mozilla / firefox / profile /ディレクトリにコピーされていることを確認します。 元のプロファイルディレクトリを消去します。つまり、空にします。
cd ~/.mozilla/firefox/
rm -Rf *. default /*


* This source code was highlighted with Source Code Highlighter .


Firefoxを起動する前に、RAMパーティションをマウントしてから、プロファイルの内容をマウントされたパーティションにコピーする必要があります。 同時に、RAMセクションからディスク上のプロファイルディレクトリに定期的にコピーバックする必要があります。 そうしないと、コンピューターの電源をオフにしたときにプロファイルデータがなくなる可能性があります。
これを回避するには、rsync(tar [およその著者]よりもはるかに優れたソリューション)を使用します。 RAM(解凍されたファイル)内のプロファイルの存在をチェックする小さなスクリプトを作成します。 そうでない場合は、RAMパーティションをマウントし、プロファイルをコピーします。 プロファイルがRAMに存在する場合、ディスクのプロファイルディレクトリをRAMのプロファイルと同期します。
そのため、ここにスクリプトテキストを示します( tmpfs_firefox.shと呼びましょう)。
#!/bin/bash

#
PROFILE= "xxxxxxxx.default"

cd "${HOME}/.mozilla/firefox"

if test -z "$(mount | grep -F " ${HOME}/.mozilla/firefox/${PROFILE} " )"
then
mount "${HOME}/.mozilla/firefox/${PROFILE}"
fi

if test -f "${PROFILE}/.unpacked"
then
rsync -av --delete --exclude .unpacked ./ "$PROFILE" / ./profile/
else
rsync -av ./profile/ ./ "$PROFILE" /
touch "${PROFILE}/.unpacked"
fi

exit


* This source code was highlighted with Source Code Highlighter .

したがって、Firefoxは閉じられます。 初めてスクリプトを実行します。 彼はパーティションをRAMにマウントし、準備したプロファイルをそこにコピーします。
プロファイルディレクトリを見ると、必要なすべてのプロファイルファイルが表示されます。

~/tmpfs_firefox.sh
ls ~/.mozilla/firefox/*. default /


* This source code was highlighted with Source Code Highlighter .


スクリプトをもう一度実行します。 したがって、ディスクに保存されたプロファイルをRAMのプロファイルと同期します。
~/tmpfs_firefox.sh
# :
# building file list ... done
# sent 36643 bytes received 20 bytes 73326.00 bytes sec
# total size is 45390178 speedup is 1238.04

* This source code was highlighted with Source Code Highlighter .


これでクライマックス:Firefoxのテスト。


まず、プロファイルがRAMセクションに正しくマウントされていることを確認します。 必要に応じて、RAMパーティションをアンマウントして、スクリプトを再度実行してみてください。 すべてがスムーズで、プロファイルが良好な状態でマウントされている場合は、Firefoxを実行するだけです。
現在、はるかに高速に動作していると感じていただければ幸いです。 おそらく、これはいわゆる「スマートバー自動補完」チップでより顕著になります。追加の結果は即座に表示されるはずです。
それでも、ディスクとRAMの間で定期的にプロファイルを同期する必要があります。 システムを終了するときにこれを行うことができますが、そのようなソリューションは十分に信頼できません。 同期にはrsyncを使用しているため、頻繁に実行できます。 このタスクにはcronを使用します。5分または10分ごとにスクリプトを実行します。
したがって、コンピューターが突然シャットダウンした場合でも、数分前に常に新しいプロファイルが保存されます。
crontab -e
*/5 * * * * $HOME/tmpfs_firefox.sh


* This source code was highlighted with Source Code Highlighter .

利便性を高めるために、Firefoxを起動する別の小さなスクリプトを作成します。 Firefoxをロードする前に、RAMプロファイルがロードされているかどうかを確認します。 通常のFirefoxランチャーショートカットの代わりにこれを使用できます。

#!/bin/bash
~/tmpfs_firefox.sh
firefox &
exit


* This source code was highlighted with Source Code Highlighter .


結果。


まだやっていません。

もちろん、Firefoxは以前と同じように動作するはずです。 ただし、以前よりもはるかに高速です。 わずか128 MBのRAMの価格で!

ソース: verot.net

PSただし、説明どおりに動作します。 翻訳した理由:)

Source: https://habr.com/ru/post/J48367/


All Articles