systemdは、再起動時とサービスを正常に再起動したときに異なるタイムアウト設定を持ちますか?

systemdは、再起動時とサービスを正常に再起動したときに異なるタイムアウト設定を持ちますか?

rsyslogsystemdは他のタイムアウト設定を使用して、システムが再起動されたとき(たとえば、実行して)実行中のデーモンを停止しrebootますか?それとも、再起動するとき(たとえば)を使用しますかsystemctl restart rsyslog

私が確認したシステムサービスページが見つかりましたが見つかりませんでした。代わりに、オプションTimeoutStopSecだけが見つかりましたTimeoutStartSec。オプションを設定しましたが、システムTimeoutStopSec化されていると思います。可能はい状態を安全に保存し、きちんと終了する前にデーモンを終了します。

編集1:

@sourcejediが提案したように(ありがとう)、これはrsyslogを実行するデスクトップインストールではなく、rsyslogのUbuntu 16.04サーバーのインストールであることを強調する必要があります。 rsyslogは、クライアントノードからメッセージを受信し、メッセージの終了を要求したときにメモリにまだ大量を保持できます。体系化されました。

このオプションの値をTimeoutStopSec90秒から240秒に増やして、一部の破損したディスクキューの問題を解決しようとしましたが、それでも関連ログファイルでこのメッセージが何度も観察されました。

rsyslogd: キュー 'strm 0x26b4800'、ファイル '/var/spool/rsyslog/q_ForwardToNode2.00000003' 非追加書き込み用に開かれていますが、すでに 983505 バイトが含まれています。 [v8.29.0はhttp://www.rsyslog.com/e/0を試しました。 ]

アイデアは、システムがコンテンツをディスクに保存している間、辛抱強く、rsyslogを終了できることです。

rsyslogを起動する前に、systemdにアクティブなネットワーク接続を待機させ、別の問題を解決しようとしました。Drop-Insこのトピックに役立つコンテキストを追加した場合は、参照のために以下に使用する2つのsystemdの内容が含まれていました。

cat /etc/systemd/system/rsyslog.service.d/*.conf | grep -Ev '#|^$'

Github #1656を解決する

[単位]
ドキュメント=https://internal/wiki/url/here
以降 = network.target
希望=network.target

Github #1704をリリース

[単位]
ドキュメント=https://internal/wiki/url/here
[提供する]
タイムアウト停止秒= 240

読んでくれてありがとう。

答え1

再起動コマンドを実行すると、systemdはTimeoutStopSec値を無視しますか?

いいえ、それはひどいでしょう。そうではありません。

編集:v233以上のいくつかのシステムバージョンJobTimeoutSec=30minreboot.target

編集:「システムがディスクにエントリを保存している間、辛抱強くなってrsyslogを終了できるというアイデアです」というメッセージは、rsyslogのバグのようです。

キューのバグを修正しました:無効なファイル書き込みエラーメッセージ#1759#1759

キューがディスクファイルから再起動されると、ほとんどいつも「書き換えのためにファイルが開かれていますが、すでにxxxバイトが含まれています」というメッセージが表示されます。このメッセージはエラーであり、実際のエラー条件を示していません。無効な述語の確認です。


Debian 9のサービスファイルを見るとsyslog.socket(systemdから提供されています)がありますが、そしてDefaultDependencies=no 。後者の行はコメントアウトされています。最後の2つがなければBefore=shutdown.targetConflicts=shutdown.targetDon't allow logging until the very endそしてrsyslog.service はい、syslog デーモンは DefaultDependencies=no( ) で直ちに再度有効にして終了することができます。 SIGTERMとSIGKILLの間に組み込まれているデフォルトのタイムアウトを使用してください。私の考えには90秒です。systemd-shutdown.servicesystemd-shutdownsystemd-shutdown

関連情報