警告でいっぱいの Postfix ログ: tlsmgr ソケットから要求を読み込んでいる間の入力終了: アプリケーションエラー

警告でいっぱいの Postfix ログ: tlsmgr ソケットから要求を読み込んでいる間の入力終了: アプリケーションエラー

最近、高負荷(CPU使用率など)のために応答しないpostfixメールサーバーが見つかりました。

これは、ロードによってコンソールとSSHログインが完了しないことを意味します。

モニタリングでは、CPU使用率は100%で表示され、I / Oは通常レベルに保たれます。

ハードリセット後、システムログの最後のログ行は次のようになります。

Feb 06 09:37:16 example.org postfix/master[10461]: warning: unix_trigger_event: read timeout for service private/tlsmgr
Feb 06 10:04:58 example.org kernel: systemd-journal invoked oom-killer: gfp_mask=0x140cca(GFP_HIGHUSER_MOVABLE|__GFP_COMP), order=0, oom_score_adj=-250
[..]
Feb 06 10:04:59 example.org kernel: oom-kill:constraint=CONSTRAINT_NONE,nodemask=(null),cpuset=/,mems_allowed=0,global_oom,task_memcg=/system.slice/dnf-makecache.service,task=dnf,pid=1584309,uid=0
Feb 06 10:04:59 example.org kernel: Out of memory: Killed process 1584309 (dnf) total-vm:944600kB, anon-rss:817340kB, file-rss:0kB, shmem-rss:0kB, UID:0 pgtables:1772kB oom_score_adj:0
[..]
Feb 06 10:04:56 example.org dovecot[10353]: master: Warning: Time moved forwards by 5.880984 seconds - adjusting timeouts.
[..]
Feb 06 09:41:36 example.org systemd-networkd[10273]: enp0s3: Failed
[^--- sic, yes, shows up out-of-order in journalctl output]
Feb 06 10:04:56 example.org postfix/master[10461]: warning: unix_trigger_event: read timeout for service public/pickup
[..]
Feb 06 10:04:56 example.org dovecot[10353]: master: Error: service(imap-login): Initial status notification not received in 30 seconds, killing the process
Feb 06 10:04:56 example.org dovecot[10362]: imap-login: Fatal: master: service(imap-login): child 1584458 killed with signal 9
Feb 06 10:04:56 example.org postfix/tlsmgr[10953]: warning: end-of-input while reading request from tlsmgr socket: Broken pipe
[.. many repeats of above message ..]
Feb 06 10:05:03 example.org postfix/tlsmgr[10953]: warning: end-of-input while reading request from tlsmgr socket: Broken pipe
Feb 06 10:05:03 example.org postfix/tlsmgr[10953]: warning: end-of-input while reading request from tlsmgr socket: Application error
[.. many repeats of above message ..]
Feb 06 11:22:01 example.org postfix/tlsmgr[10953]: warning: end-of-input while reading request from tlsmgr socket: Application error
Feb 06 11:22:01 example.org postfix/tlsmgr[10953]: warning: end-of-input while reading request from tlsmgr socket: Application error
Feb 06 11:22:27 example.org systemd-journald[10176]: [

ベストアンサー1

根本原因はシステムメモリが不足しているためです。したがって、システムをより強力にするには、このイベントが発生する可能性を減らす必要があります。特に:

  • Golang DB接続プールの同時データベース接続数の制限、メールサーバーの添付ファイルサイズの制限、アプリケーションのメモリ/キャッシュ制限の設定など、コアサービスのメモリ使用量を制限します。
  • 不要なサービスを無効にする
  • このシステムにさらにRAMを追加できます。

さらに、OOM条件に近い(相対的に)メモリが不足している状況で、関連コンポーネントのエラーモードを改善するために作業することができます。

  • RAMが2GiB未満のシステムで使用できるように、dnf(またはdnfの後続製品であるmicrodnf)を改善します。これらの管理ユーティリティに使用可能なメモリが1GiB未満のシステムは、はるかに少ない便利です。日常業務のためのMiBメモリ
  • OOM 状況でネットワーク インターフェイスを閉じないように systemd-networkd を改善します。
  • tlsmgrとそのクライアントが重複したエラーメッセージと処理でシステムをフラッディングしてバンドルするのではなく、古いepollイベントを削除するなど、ほぼOOMの状況から迅速に回復できるようにPostfixを改善します。

おすすめ記事