GRUB で「profile」を使用して起動時間を最適化しても機能しないのはなぜですか? 効果を元に戻すにはどうすればよいですか?

GRUB で「profile」を使用して起動時間を最適化しても機能しないのはなぜですか? 効果を元に戻すにはどうすればよいですか?

ここに画像の説明を入力してください起動時間を短縮したいので、ヒントに:

  1. 「/etc/default/grub」を編集し、次GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"の行を変更しますGRUB_CMDLINE_LINUX_DEFAULT="quiet splash profile"
  2. sudo update-grub2マシンを実行して起動します。
  3. grub 構成ファイルを再度編集し、profileから削除しますGRUB_CMDLINE_LINUX_DEFAULT
  4. 再度 grub を更新して再起動します。

dmesgしかし、出力によると、結果は起動時間が 10 秒増加しました。

何が問題なのでしょうか? このヒントが機能しないのはなぜですか? この設定を元に戻すにはどうすればよいですか? このプロファイル ファイルは Xubuntu のどこに保存されますか? この新しいプロファイルを問題なく削除できますか?

答え1

冒頭に一言:Ubuntu 13.10 に満足しているとしても、14.04 LTS へのアップグレードを強くお勧めします。Saucy は 1 年以上前にサポート終了になっており、それ以降は更新を受け取っていないことになります。セキュリティ上、好ましくありません。また、技術的には EOL リリースはここでは話題になりません。


カーネル ブート パラメータは、profileブート時に先読みプロファイリングを行うためのトリガーです。このパラメータが設定されている場合、readaheadデーモンがブート プロセスを監視し、ブート中に読み込まれるファイルを探して、適切なリスト ファイルを書き込みます。このファイルは次回のブート時に使用され、ハード ドライブのシーク回数を減らすことでブート時間を短縮します。

こうした先読みメカニズムは、長年にわたって登場しては消えていきました。ここでは、それらについての私の見解を述べますが、多かれ少なかれ正確であることを願っています。

オリジナルreadahead(非推奨)

Ubuntu アーカイブで見つかった最後のバージョンは 2005 年のものです。リポジトリからインストールすることはもうできません。いつ置き換えられたのかはわかりませんが、10.04 より前のいつかだったに違いありません。

  • プロファイルは に保存されています/etc/readahead/boot
  • bootカーネルパラメータを使用して移動および起動することでプロファイリングをトリガーしますprofileが、このバグレポートこれは文書化されておらず、開発者専用のオプションであることを示唆しています。

readaheadフェドラから

元々は Fedora からのものですが、 で起動しないシステムでは今でもそこで使用されていますsystemd

  • Ubuntu パッケージは ですreadahead-fedora。リポジトリから入手できます。
  • オリジナルを置き換えるreadahead
  • 保存されているプロファイル/etc/readahead.d/custom.{early,later}
  • プロファイリングは、
    • touch /readahead_collectまたは
    • 起動時にカーネルパラメータを設定しますprofile
  • 少なくとも毎月自動的にプロファイルを作成する
  • UbuntuでSuperseedされたureadahead

オリジナルでreadaheadは、readahead-fedora起動時に必要なファイルのリストが作成されました。このリストは、ハードドライブのシークを最小限に抑える順序で起動時に読み取られます。

ureadahead

これは、Ubuntu 10.04 以降のデフォルトです。

  • プリインストール
  • 起動時にメモリにロードされるページ ファイルを実際に作成します。
  • に保存されます/var/lib/ureadahead/pack。次回の起動時にプロファイリングを強制するには、このファイルを削除してください。
  • dpkgに関連する何かがインストールされるたびに起動してページ ファイルを更新するトリガーをインストールしますinit

Ubuntu >= 15.04

systemdは、vivid 以来のデフォルトの init システムです。独自の先読みメカニズムが導入されました。ではureadahead動作しません。systemdしかし、systemd-readaheadどうやら最近は誰もが SSD を所有しているため、現在でもメンテナンスされておらず、非推奨となっています...ureadaheadは、Vivid で を起動するときに使用されますupstart


予想どおり、システムにureadaheadインストールされていますが、これはprofileパラメータを受け取りません。プロファイルの設定後に起動時間が長くなるのはなぜか理解できません。実行したハウツーの 2 番目のハック ( CONCURRENCY=...) も適用した場合、これが原因である可能性があります。upstartそれ自体で対処する必要があります。

前述のように、強制的ureadaheadに再プロファイリングするには、packファイルを削除します

sudo rm /var/lib/ureadahead/pack

おそらく.packそのディレクトリ内の他のものも。起動が完了した後でも少し記録されるため、起動後はすぐにログインしてくださいureadahead。この方法では、Unity シェルや使用しているものも含まれるはずです。

何がどれくらい時間がかかるのかを本当によく把握したい場合は、ブートチャートブートプロセスのグラフィカルな表現を生成します。

関連情報