Linux
 Computer >> コンピューター >  >> システム >> Linux

不要なサービスをオフにして Linux の起動時間を短縮する

バックグラウンドで実行される多くのサービスによって、ますます多くのオペレーティング システムが肥大化しています。 CPU 時間をあまり使用しないかもしれませんが、起動時間と RAM の使用量が増加します。幸いなことに、オープンソース オペレーティング システムでは、必要に応じて実行できる権限と自由が与えられます。つまり、不要なものはすべて無効化または削除できます。ここでは、不要なサービスを無効にして Linux の起動時間を短縮する方法を説明します。

注意 :サービスを削除するのではなく無効にする方法を示します。サービスを無効にすると、永久に壊れてしまうリスクが軽減されます。また、便利な機能が動作しなくなったことに気付いた場合は、サービスを再度有効にするだけで以前の状態に戻すことができます。

目次

各サービスの読み込みにかかる時間を分析する

ほとんどの Linux ベースのオペレーティング システムは、デフォルトで Systemd を使用します。これに含まれる一連のユーティリティの中には、システムの起動速度を分析できるプログラムがあります。具体的には、起動に必要な合計時間と、各サービスの読み込みにかかる時間が表示されます。一部のサービスは並行して読み込まれることに注意してください。したがって、1 つのロードに 2 秒かかり、もう 1 つは 3 秒かかるとしても、合計で 5 秒かかるとは限りません。それよりもはるかに少ない可能性があります。

ターミナル エミュレータを開き、次のコマンドを入力します。

systemd-analyze
不要なサービスをオフにして Linux の起動時間を短縮する

これは、Linux カーネルとコア システム サービスの初期化にかかる時間を示します。デスクトップ アニメーションまたはユーザー アプリケーションの読み込みが完了するまでに必要な時間は考慮されていません。

ただし、次のコマンドを使用すると、グラフィカル インターフェイスの初期化に必要な時間を確認できます。

systemd-analyze critical-chain graphical.target
不要なサービスをオフにして Linux の起動時間を短縮する

これは、グラフィカルなターゲットに到達するまでのサービスのチェーンを示しています。便利ではありますが、一部のバックグラウンド コンポーネントはその後も読み込みを続ける可能性があるため、これはデスクトップが完全にアイドル状態になる瞬間ではなく、技術的なマイルストーンを表します。

注意 :デスクトップ環境内で自動的に起動するプログラムは、通常、デスクトップ固有の自動起動設定または systemd ユーザー サービスを通じて管理されます。

最後に、おそらくこのチュートリアルの目的にとって最も役立つコマンドは次のとおりです。

systemd-analyze blame
不要なサービスをオフにして Linux の起動時間を短縮する

矢印キーまたは PAGE UP および PAGE DOWN を使用してリスト内を移動できます。終了するには q を押してください。

Systemctl を使用して不要なサービスを無効にする

前の図でわかるように、snapd のような一部のサービス ロードには数秒かかります。 SSD では、これは無視できます。しかし、従来のハードディスクでは、このような時間は数秒程度であり、最終的には膨大な時間になります。

コンテナ化されたアプリケーション スナップへのアクセスを提供する snapd サービスが必要ないとします。このコマンドを使用して無効にできます。

sudo systemctl disable snapd.service

再起動後も、特定の条件下では依然として snapd の起動が表示される場合があります。これは、snapd がソケット アクティベーションを使用し、サービス自体が無効になっている場合でもオンデマンドで開始できるようにするために発生します。

関連するユニットは次の方法で識別できます。

systemd-analyze blame | grep snap
不要なサービスをオフにして Linux の起動時間を短縮する

これは、どのスナップ関連ユニットが起動アクティビティに寄与しているかを特定するのに役立ちます。

ソケットでアクティブ化されるサービスの処理

snapd などの一部のサービスはソケットのアクティベーションを使用します。これは、サービスが無効になっている場合でも、何かが通信しようとしたときにサービスを開始できることを意味します。

再起動後も snapd が表示され続ける場合、snapd.socket などの関連ユニット または snapd.seeded.service 責任があるかもしれない。このような場合、サービスとそのソケットをマスクする方が効果的です。

sudo systemctl mask snapd.service
sudo systemctl mask snapd.socket

マスキングによりサービスが完全にブロックされるため、依存関係やソケットがサービスを開始できなくなります。ただし、このアプローチは、特にシステム アップデートやアプリケーションに Snap パッケージに依存するディストリビューションでは慎重に使用してください。

また、この文脈では「無効にする」と「マスクする」を混同しないように注意してください。サービスを無効にすると、systemd にそのサービスを自動的に開始しないように指示します。マスキングはさらに進んで、サービスがまったく開始されないようにすることになります。ほとんどの状況では、無効にするだけで十分です。マスキングは、頑固に再起動するサービスや、システム上で明らかに不要なサービスに役立ちます。

さらに、設定によっては、次のような安全に無効にできる追加サービスが見つかる場合があります。

avahi-daemon.service
ModemManager.service
thermald.service

ただし、サービスを無効にする前に必ずサービスを調査してください。デスクトップ システムでは不必要なものでも、ラップトップやサーバーでは不可欠なものになる可能性があります。

最終的な考え

不要なサービスを無効にすると、特に従来のハードドライブを使用しているシステムでは、起動時間が短縮され、システム リソースが解放されます。最新の SSD ベースのシステムでも、未使用のサービスをトリミングすると、システムをクリーンで効率的に保つことができます。

さらに、Stacer などのグラフィカル ツールはサービスを管理するために存在しますが、多くの場合、それらは制限された制御や古い機能を提供します。ディストリビューション間で一貫性のある正確な管理を行うには、systemctl コマンドライン ツールが最も信頼できるオプションです。


  1. Tmux vs. Screen:どちらが最適なターミナルマルチプレクサーですか?

    Linuxで端末を頻繁に操作する場合、マルチタスクを実行するときにいくつかの問題が発生することになります。複数のウィンドウまたはタブで問題ありませんが、リモートサーバーまたは他のシステムにログインしている場合、タブまたは複数のターミナルウィンドウに常にアクセスできるとは限りません。ここで、Linuxシステム管理の世界の確固たるメンバー tmux およびscreen しかし、オープンソースコミュニティのすべてのものと同様に、ここでの選択は、これらのコマンドのどれが使用に適しているかについて明確ではありません。今日は、 tmuxについて説明します。 vs画面 どちらが最適なターミナルマルチプレク

  2. 新しいアプリを発見するためのLinuxユーザーツールキット

    いくつかの例外を除いて、Linuxディストリビューションのインストールは、包括的なリゾートにチェックインするようなものです。ハードウェアはすぐに使用でき、写真編集ツールやマルチメディアプレーヤーから、電子メールやチャットクライアント、さらには本格的なオフィススイートまで、プリインストールされたソフトウェアの印象的な選択肢を手に入れることができます。 しかし、デフォルトのアプリケーションの1つを置き換えたい場合、または新しいLinuxソフトウェアを試してみたい場合はどうでしょうか? ええと、あなたはいつでもそれをグーグルで検索することができます—そしてあなたが何か使えるものを見つけるために結