ブート速度を改善するにはどうすればよいですか?


67

Ubuntuを高速化する多くのビデオを見てきましたが、これらの方法はデスクトップのパフォーマンスを高速化するだけです。

コンピューターの起動を高速化したいと考えています。Ubuntuの起動を大幅に高速化するためにできることは何ですか?


5
systemd(15.04 IIRC以降)を使用するシステムにsystemd-analyzeは、どのプロセスが起動するのにどれくらい時間がかかるかを分析するのに役立つツールが付属しています。man systemd-analyzeそのすべてのオプションについて学ぶために参照してください、systemd-analyze blameしかしあなたがおそらく最も使用するつもりであるのはそうです。
バイトコマンダー

@ByteCommanderステップバイステップの答えが仕事をします。
アンワル

回答:


28

一般に、起動時に読み込むプログラムが少ないほど、システムは高速になります。BUM(ソフトウェアセンターから)を試して、不要なサービスを無効にし、起動時に読み込まれる不要なプログラムがインストールされていないことを確認します。最後に、起動デバイスとしてソリッドステートドライブ(SSD)を使用すると、起動時間を大幅に改善できます。

もう1つ、ファイルシステムの種類によっても違いが生じます。EXT4は(phoronixによると)いくつかのパフォーマンスの低下に苦しんでいますが、EXT4は高速起動に最適であることがわかりました。


通常は役に立たないサービスを無効にできますか?
フィリップガショー

@PhilippeGachoud今は本当に思い出せない。これは2010年からです!
RolandiXor

下位互換性のあるSSDを使用しており、ボードはSATAです。すぐに起動します。
userDepth

17

先日これに出くわしました。「e4rat」の手順はこちら

この小さなアプリは素晴らしいです。

私は2800+で稼働している通常のシングルプロセッサAMDセンプロンを使用しました。通常、Nattyは1.45分から27.885秒で起動します。

私はそれを証明するブートチャートを持っています。それはクレイジーです! ここに画像の説明を入力してください


1
これは本当に役立ちます!!!
user12164

e4ratについてもっと知る必要がある人は、e4ratは多くの異なるヒントやトリックを最大に改善した素晴らしいツールです。
ビクタービェルクホルム

3
12.04でも合法ですか?ウレアダヘッドに問題を引き起こすと聞きました。これは本当ですか?
-user138784

@ user138784私が理解しているように、これはureaheadがe4ratと同じ仕事をしているので、明らかに矛盾しているからです。しかし、何らかの理由でe4ratはureaheadよりも優れているようです。また、おそらく役に立つでしょう-何らかの理由でe4ratはデフォルトでは機能せず、調整が必要です。そうでない場合、ログファイルは作成されません。
ハイエンジェル

e4ratは16.04で動作しませんでした
アンワル

17

起動時間の改善は、サービスの無効化/管理と非常に関連していますが、現在の回答には、を使用するサービスの無効化に関する詳細が欠けていますsystemd

systemdとは何ですか?

要するに、systemdはLinux用のシステムおよびサービスマネージャーであり、SysVおよびLSB initスクリプトと互換性があります。これについての詳細は、公式プロジェクトページから読むことができます

最も時間がかかるサービスを確認する

次のコマンドを使用して、最も時間がかかるサービスを確認します

systemd-analyze blame

起動中のサービスの自動開始を無効にする

起動中にサービスの自動開始を無効にする場合は、次のコマンドを使用できます

sudo systemctl disable some-time-eater-service.service --now

ただし、問題のサービスが必要な他のサービスを確認することもできます。確認するには、次のコマンドを使用します

systemctl list-dependencies some-time-eater-service.service --reverse

注:some-time-eater-service.serviceなどの実際のサービス名に置き換えpostgresql@9.5-main.serviceます。

自動起動を無効にしても、サービスは起動できなくなります。必要に応じて、ブート後にサービスを開始できます。完全に無効にする場合は、次のセクションをお読みください

サービスを完全に無効にします。

サービスを開始できないように完全に無効にする場合はmask、無効にする代わりに使用する必要があります。このような

sudo systemctl mask <SERVICE-NAME>

<SERVICE-NAME>を実際のサービス名に置き換えます

との違いはmaskdisableマスクがサービスを完全に無効にすることであり、起動することはできません。systemdでunmask起動する必要があります(まだ起動できます)。ただし、サービスの自動開始を無効にするだけで、後で開始できます。servicedisable

たとえば、postgresql@9.5-main.serviceサービスをマスクした後systemctl、次のメッセージでサービスを開始したいときに表示されます

Failed to start postgresql@9.5-main.service: Unit postgresql@9.5-main.service is masked.

GUIツール

私が特に興味深いと感じるGUIツールの1つはsystemd-manager、まだ開発段階にあり、公式Ubuntuリポジトリへのパスになっていないことです。ただし、Systemd-Managerのgithubページから非常に簡単にインストールできます。リリースには、インストールが非常に簡単な.debパッケージが含まれています。ただし、GTK-3.16以降が必要です。

ダウンロードしてインストールしたら、systemd-managerコマンドで起動できます。始めよう。

アプリケーションには2つのメインビューがあります。1つはSystemd Unitsで、もう1つはSystemd Analyzeです。左上隅のラベルで切り替えることができます。スクリーンショットをご覧ください。

ビュー間の切り替え

また、管理できるユニットには3つのタイプがあります。役職ソケットタイマー。それらを切り替えることができます。スクリーンショットをご覧ください。

ユニットの種類を切り替える

情報を表示する

3つの主要なタブは、ファイルジャーナル依存関係です。

  • ファイルは、選択したユニットの構成ファイルです。
  • ジャーナルは、システムの有効化/無効化/開始/停止中のライブsystemdの出力です
  • 依存関係は、選択したサービスを開始するために有効にする必要がある他のサービスまたはユニットを示します。

ステータスインジケータ

ユニットの名前の横に、ステータスを示す2つの列があります。左側はそのユニットが起動時に起動できるかどうかを示し、右側はそのユニットが現在実行中かどうかを示します。写真でそれらを参照してください。

起動ステータスで有効化

現在実行中のステータス

制御スイッチ

起動時の有効化または実行中のステータスをトゥーグルするには、右上隅にトゥーグルボタンが2つあります。 有効にすると、ユニットが起動して起動します。写真でそれらを参照してください。

Toogleが有効/開始に切り替わります

アプリケーションの完全なビューを以下に示します

完全なビュー

これが役立つことを願っています。systemdに関する他の回答からは恩恵を受けますが、情報を1か所に集める必要がありました。

詳細情報

詳細についてsystemdは、次のリンクをご覧ください。

他の回答にはさまざまな提案があります。SSDの購入、RAMの増加などが含まれます。余裕があれば、特にSSDの提案に役立つでしょう。


15

磁気ドライブからソリッドステートドライブ、または磁気およびソリッドステートハイブリッドドライブに切り替えます。これにより、OSの起動がずっと速くなります。ハイブリッドドライブはそれほど高価ではありません。そこまで行きたくない場合は、7200または10K RPMのハードドライブを入手してください。


6
ディスク速度は現在のブートボトルネックです。
スコット

@scottl私のディスクはSATAをしている与えられた、私のブート時間が@RobinJによって報告された午前1時45分に似て、私はそこだと疑ういかなる特定のディスクパフォーマンスに指を指すように理由。ただし、1)を使用しfastboot、2)これらのディスクがブートプロセスに重要ではないにもかかわらず、ディスクと共有のマウントは同期的に行われます。
0xC0000022L

13

Ubuntu 11.04について話していると思いますか?
私はこれをかなり長い間試みてきましたが、多くの成功はありませんでした。とにかく、これらのステップは数秒の違いをもたらしました:

1.不要なパッケージを削除する

apt-get purge brltty brltty-x11 foo2zjs min12xxw ttf-indic-fonts-core ttf-kacst-one ttf-khmeros-core ttf-lao ttf-punjabi-fonts ttf-unfonts-core

2.ブートプロセス中に両方のコア/ CPUを使用する

コンピュータに複数のCPU / COREがあることが確実な場合にのみ、これを行ってください!
オープン/etc/init.d/rc(root権限が必要です)と置き換えるCONCURRENCY=noneことによってCONCURRENCY=shell。次に、ファイルを保存します。

更新

「CONCURRENCY = shellは廃止され、「makefile」のエイリアスになりました。2010-05-14以降、デフォルトは「makefile」です。」   〜ジョナソン

3.不要なデーモンを無効にする

これはもう少し進んでいるので、これが何を意味するのかわからない場合はやらないほうがいいでしょう。 をインストールしbum、ルート権限で起動します。次に、必要のないデーモンの前にあるボックスのチェックを外します。たとえば、スキャナーがない場合は、を無効にできますsaned。Bluetoothを使用したことがない場合は、無効にすることもできbluetoothます。
設定が完了したら、ヒット適用 ]ボタンをクリックすると、どちらかないそうか、何を(それが問題であまりありません)。

これらの手順を完了したら、2回再起動ます。何らかの理由で、すべてのこれらのオプションを変更した後の最初の再起動は、他のものよりもはるかに時間がかかりますが、あなたは気づくべきで、いくつかの 2回目の再起動時の違いを。


3
CONCURRENCY = shellは廃止され、「makefile」のエイリアスになりました。2010-05-14以降、デフォルトは「makefile」です。
ジョナサン

どのパッケージを削除するべきかをリストアップする(または簡単な説明をする)ことは可能ですか?(説明の最初のポイント)。常にそこに単純にコピー&ペーストを行う人がいると突然のすべてが、端末などから読み取ることができないことを気に
ウィレム・ヴァンOnsem

1
@CommuSoftこの回答はUbuntu 11.04に関するものであるため、とにかく同じ回答を最新バージョンに適用することはお勧めできません。このようなもののいくつかはもう機能しません、そして、他のものはシステムを壊すかもしれません。
ロビンJ

9

ブートチャートを使用して、ブート中に時間がかかるものの詳細なグラフを作成します。調整または削除する対象を決定するのに役立つ場合があります。https://wiki.ubuntu.com/BootChartingから:

  • apt-getまたはSynaptic を使用して、bootchartおよびpybootchartguiパッケージをインストールします。
  • マシンを再起動します
  • ブートチャートは.pngファイルとして/ var / log / bootchartにあります

現代の同等物はここでカバーされていますaskubuntu.com/a/763070/178596
Wilf


3

代替インストールを実行し、GUIパッケージを手動で追加した場合、マシンの起動がより速くなりました。もちろん、それは私が自分自身を追加できることを必要としないものを取り除きます。「X、Y、およびZアプリをどのようにコンパイル/インストールしますか?」


3

これに苦労している人は、BUMをインストールしてrootユーザーとして起動するだけです(通常のsudoの代わりにgksudoを使用するように注意してください)。次に、無効にするサービス(Apache2、PostGreSQLデーモン、MySQL、仮想ボックスなどを無効にしました)のチェックを外します。不要な場合は、サービスを完全に削除できますが、無効にするだけで十分です。

sudo apt-get install bum

ここに画像の説明を入力してください


2

ほとんどのブログが指しているように、「/ etc / default / grub」ファイルを編集してみてください。おそらくご存知でしょう。最初に「プロファイル」という単語を追加してから再起動し、次に「プロファイル」を削除してから再起動します...実際に起動速度が向上します。次に例を示します。http//lgjsheron.wordpress.com/2010/07/06/how-to-speed-up-boot-of-ubuntu-10-04-lucid-lynx/


2

編集25.10.2016:サスペンド/ S3を使用できない、または優先するために休止状態を使用しない場合はnoresumeGRUB_CMDLINE_LINUX_DEFAULTinに追加して/etc/default/grub実行することでGrubで休止状態を無効にできますupdate-grub。GalliumOSを実行しているChromebook N22の例を次に示します。

livewire@zc01:~$ systemd-analyze
Startup finished in 8.580s (kernel) + 4.160s (userspace) = 12.740s

livewire@zc01:~$ systemd-analyze
Startup finished in 3.595s (kernel) + 4.254s (userspace) = 7.850s

これは、ブート中に「スクリプトのローカルプレマウントを実行する」部分に興味があり、initramfsを少し調べて、以前はシステムが休止状態から復帰できないときにのみ使用していたこのオプションにつながったためです。


編集06.08.2016:systemdに付属するLinuxディストリビューションの最新バージョンに更新する必要があります。


材料:

  • 肥大化していないUEFIコードまたはCorebootでUEFIシステムを取得する
  • SSDを入手する
  • UEFIモードでUbuntuをインストールする
  • ボーナス:initramfsをxz lzopで圧縮し、必要なモジュールのみを含めます。(あなたはそれをやろうとする前に何をしているのか本当に知っているべきです。)
  • ボーナス:不要なデーモンを削除するか、より速く起動するように構成します。ただし、デフォルトのインストールで十分です。
    • 例:このデバイスにbtrfsボリュームがないときにマウントするプールを探しているbtrfsの初期化ジョブ。これにより、いくつかのインストールからbtrfs-toolsを削除しました。

32秒で十分だと言わざるを得ません。従来のハードウェアではそれほど速くなりません。私の新しいLenovo T530は、レガシーモードで起動するのに同じ時間を要します。最近インストールした新しいマイクロSSDとUEFIモードのUbuntuでは、電源ボタンを押してログインするのに15秒かかります。投稿中に5秒を無駄にしたように感じますが、実際のオペレーティングシステムの起動時間を無駄にすることはありません。micro SSDの転送速度は280 MB / sですが、500 MB / s SSDで7秒になる場合があります。しかし、OSの起動前の時間(POSTとそうでないもの)を減らすのは、実際にはメーカー次第です。

ブートプロファイリングとシェルの同時実行性について。これらの情報は、日付が付けられているか、最終的には神話であると見なすことができます。自動ブートプロファイリングまたはブートプロファイリングをまったく不要にする何かがLinuxまたはコアシステムに数年前に追加されたことを覚えています。それ以来、新しいカーネルパッケージのインストール後にブートプロファイリングを使用しなくなりました。シェルの並行性設定は問題を解決すると言われていましたが、SystemdとUpstartでも余計なものであり、プラスの効果はありません。


1

Garbagecollectorは正しい。注意して進めてください。ただし、安全に無効にできるプログラムの一部は、特にEvolutionを最初に使用していない場合、Evolutionなどの電子メールポップアップユーティリティです。また、まったく印刷しない場合は、印刷に関連するものをすべて無効にすることができます。有線の場合は、ワイヤレスでも同じです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.