OpenRC システムの起動時間を改善するにはどうすればよいですか?

OpenRC システムの起動時間を改善するにはどうすればよいですか?

私のジェンツーシステムOpenRC 初期化起動に時間がかかり、約24秒(グラブグローバル)。今回は改善するための推奨される方法があるかどうか疑問に思いました。しかし、私が見つけたものには、このトピックについてインターネット上にはあまり情報がありません。

私は Intel Core i5-6400 と Samsung SSD 970 EVO Plus 500GB を使用しています。

答え1

誰もがシステムの起動が速いことを望んでいます。特に毎日使用するデスクトップコンピュータでは。24秒というのは起動にかなり時間がかかりますが、私はこれを9秒

カーネルに触れることなく、いくつかのヒントを紹介します。

rc.conf は、

OpenRC 構成ファイルから始めましょう。 というオプションがありますrc_parallel。デフォルトでは、サービスは 1 つずつ開始され、一部のサービスに時間がかかる場合は、他のサービスを遅らせます。設定により、rc_parallel="YES"RC システムはサービスを並行して開始して、速度をわずかに向上させることができます。私の場合は、-5 秒でした。

A は、xdm サービスのためrc_send_sighup="YES"、、、を設定する必要もありましたrc_timeout_stopsec="10"rc_send_sigkill="YES"止まりたくなかったシステムをシャットダウンしている間。

rc-サービス、rc-アップデート

もう1つ重要なことは、実際にどのサービスが起動しているかを知ることです。これは起動時に表示される出力です。この出力をログに記録するrc_logger="YES"ファイルに設定されます/etc/rc.conf。正確な時間、警告メッセージ、エラーはここで確認できます。

サービスは、いわゆるランレベルは、これらのサービスが開始される期間を意味します。システムの起動には 2 つの実行レベルが関係します。bootおよびdefault

次のコマンドで、すべてのサービスとそのランレベルを一覧表示できます: rc-update show
または、次のコマンドで実行中および停止中のすべてのサービスを一覧表示できます:rc-status --servicelist

私の場合、安全に無効にできる不要なサービスがいくつか見つかりました。たとえばbluetooth、ネットワーク インターフェイスを設定するnetmountやサービスです。サービスを使用しているにもかかわらず、有効になっていました。これらのサービスは必要なかったので、無効にすることでさらに 10 秒の短縮になりました。net.enp0s31f6NetworkManager

次のコマンドを使用して、特定のランレベルでサービスを無効にすることができますrc-update del <service> <runlevel>

いつも特定のサービスが何を行うか確認する無効にする前に、必ず確認してください。システムが壊れてしまう可能性があります。


これが誰かの役に立ち、私が費やさなければならなかった時間を少しでも節約できれば幸いです。

答え2

パッケージをインストールしてapp-shells/dashから、/bin/shシンボリックリンクを にポイントしてみてくださいdash。 後者は手動で行うことも、eselect shサブコマンドを使用して行うこともできます。

これをデフォルトで実行した最初のディストリビューションは 10 年以上前の Ubuntu でした (IIRC)。他の回答で推奨されているように、initscript を並行して実行しようとするよりも大きな違いがありました。

関連情報