web-dev-qa-db-ja.com

OpenRCシステムの起動時間を改善するには?

私の Gentoo システムを OpenRC init で起動すると、約24秒かかります( [〜#〜] grub [〜#〜]から測定 = to [〜#〜] gdm [〜#〜] )。この時間を改善するための推奨される方法はないかと思っていました。しかし、私が見つけたものは、インターネット上のこのトピックについてはあまりありません。

Intel Core i5-6400とSamsung SSD 970 EVO Plus 500GBを持っています。

2
BlueManCZ

誰もが、特に日常的に使用されているデスクトップコンピュータでのシステムの高速起動を気に入っています。 24秒は非常に遅い起動時間で、9秒に短縮できました。

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

/etc/rc.conf

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

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

rc-service、rc-update

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

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

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

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

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

サービスを無効にする前に、常に特定のサービスの機能をチェックします。システムが壊れる可能性があります。


これが誰かを助け、私が費やした時間を少しでも節約できることを願っています。

2
BlueManCZ

インストールしてみてくださいapp-shells/dashパッケージを作成し、次に/bin/shシンボリックリンクはdashを指します。後者は手動で、またはeselect shサブコマンド。

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

1
q.undertow