web-dev-qa-db-ja.com

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

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

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

66
jnut

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

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

28
RolandiXor

先日これに出くわしました。その「e4rat」 ここの説明

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

私は、2800 +で動作する老朽化したシングルプロセッサAMDセンプロンを使用しました。これは、通常、Nattyを1.45分から27.885秒で起動します。

私はそれを証明するブートチャートを持っています。それはクレイジーです! enter image description here

17
Ringtail

ブート時間の改善は、サービスの無効化/管理と非常に関連していますが、現在の回答には、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[email protected]などの実際のサービス名に置き換えます。

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

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

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

Sudo systemctl mask <SERVICE-NAME>

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

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

たとえば、[email protected]サービスをマスクした後、systemctlで開始したい場合、次のメッセージが表示されます

Failed to start [email protected]: Unit [email protected] is masked.

GUIツール

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

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

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

Swithch Between Views

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

Switch between unit types

情報の表示

3つのメインタブは、FilesJournal依存関係

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

ステータスインジケータ

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

Enabled at boot status

Currently running status

コントロールスイッチ

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

Toogle switches to enable/start

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

Complete View

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

詳細情報

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

他の回答にはさまざまな提案があります。 SSDの購入、RAMなどの増加を含めます。余裕がある場合は、特にSSDの提案が役立ちます。

17
Anwar

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

15
Jim McKeeth

buntu 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=noneCONCURRENCY=Shellに置き換えます。次に、ファイルを保存します。

更新

"CONCURRENCY = Shellは廃止され、 'makefile'のエイリアスになりました。2010-05-14以降、デフォルトは 'makefile'になりました。"Jonathon

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

これはもう少し高度なので、これが何を意味するのかわからない場合は実行しないのが最善です。bumをインストールし、root権限で起動します。次に、必要のないデーモンの前にあるボックスのチェックを外します。たとえば、スキャナーがない場合は、sanedを無効にできます。 Bluetoothを使用したことがない場合は、bluetoothも無効にできます。
完了したら、適用ボタンを押して、yesまたはnoのいずれかをクリックします(大したことではありません) 。

これらの手順を完了した後、再起動twice。何らかの理由で、これらのオプションをすべて変更した後の最初のリブートは他のオプションよりもはるかに長くかかりますが、2回目のリブート中にsomeの違いに気付くはずです。

13
RobinJ

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

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

おそらく実用的な方法は、ハードディスクをSSDに交換することです。例:

http://www.engadget.com/2011/08/17/samsungs-6gbps-ssd-gets-a-consumer-label-october-ship-date/

時間は少し過剰に聞こえますが、詳細はまだ投稿していません。

4
Steve-o

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

3
RobotHumans

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

Sudo apt-get install bum

enter image description here

3
Stefano Mtangoo

編集25.10.2016:サスペンド/ S3を使用できない、または優先するために休止状態を使用しない場合は、GRUB_CMDLINE_LINUX_DEFAULT/etc/default/grubnoresumeを追加することで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とUbuntuをUEFIモードで使用すると、電源ボタンを押してログインするのに15秒かかります。投稿中に5秒を無駄にしたように感じますが、実際のオペレーティングシステムの起動時間を無駄にすることはありません。 micro SSDの転送速度は280 MB/sですが、500 MB/s SSDで7秒になる場合があります。しかし、OSの起動前の時間(POSTとそうでないもの)を減らすのは、実際にはメーカー次第です。

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

2
LiveWireBT

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

2
Xamidovic

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

1
jfmessier