注:これは「デバッグ方法」のチュートリアルとして始まりましたが、Ubuntu 16.04 LTSサーバーで私を助けたソリューションになりました。
TLDR:実行してlandscape-sysinfo
、コマンドの終了に時間がかかるかどうかを確認します。新しいSSHログインでのシステム情報の印刷です。このコマンドはすべてのシステムで使用できるわけではなく、landscape-common
パッケージによってインストールされることに注意してください。(「待ってください、もっとあります...」)
問題のあるマシンの別のポートで2番目のsshサーバーを起動し、デバッグモードで実行します。これにより、フォークは行われず、デバッグメッセージが出力されます。
sudo /usr/sbin/sshd -ddd -p 44321
詳細モードで別のマシンからそのサーバーに接続します。
ssh -vvv -p 44321 username@server
クライアントは、スリープを開始する直前に次の行を出力します。
debug1: Entering interactive session.
debug1: pledge: network
グーグルはあまり役に立ちませんが、サーバーログの方が優れています。
debug3: mm_send_keystate: Finished sending state [preauth]
debug1: monitor_read_log: child log fd closed
debug1: PAM: establishing credentials
debug3: PAM: opening session
---- Pauses here ----
debug3: PAM: sshpam_store_conv called with 1 messages
User child is on pid 28051
に変更UsePAM yes
するとUsePAM no
、この問題は解決したことに気付きました。
UseDNS
他の設定とは関係なくUsePAM
、システムのこの問題にのみ影響します。
私はなぜ見当がつかない、と私も残していないよUsePAM
でno
、私は副作用であるかを知らないので、これは私が調査を継続することができます。
したがって、これを答えと考えないでください。しかし、何が悪いのかを知るための最初のステップです。
そこで調査を続け、()で走りsshd
ました。これにより、次の結果が得られました。strace
sudo strace /usr/sbin/sshd -ddd -p 44321
sendto(4, "<87>Nov 20 20:35:21 sshd[2234]: "..., 110, MSG_NOSIGNAL, NULL, 0) = 110
close(5) = 0
stat("/etc/update-motd.d", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
umask(022) = 02
rt_sigaction(SIGINT, {SIG_IGN, [], SA_RESTORER, 0x7f15dce784b0}, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGQUIT, {SIG_IGN, [], SA_RESTORER, 0x7f15dce784b0}, {SIG_DFL, [], 0}, 8) = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
clone(child_stack=0, flags=CLONE_PARENT_SETTID|SIGCHLD, parent_tidptr=0x7ffde6152d2c) = 2385
wait4(2385, # BLOCKS RIGHT HERE, BEFORE THE REST IS PRINTED OUT # [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 2385
行/etc/update-motd.d
は私を疑わしくしました、どうやらプロセスは中にあるものの結果を待っています/etc/update-motd.d
だから私はcd
「の研究開発/etc/update-motd.d
と走っsudo chmod -x *
これは、動的生成するすべてのファイルを実行するためにPAMを抑制するためにMessage Of The Day
、パッケージをアップグレードする必要があり、これで問題が解決した場合、システムの負荷が含まれており、。
これは、「エネルギー効率の高い」N3150 CPUに基づいたサーバーであり、24時間年中無休で多くの作業を行う必要があるため、このmotdデータをすべて収集するのは多すぎると思います。
そのフォルダ内のスクリプトを選択的に有効にし、どれがそれほど有害ではないかを確認し始めるかもしれませんが、特別な呼び出しlandscape-sysinfo
は非常に遅く、50-landscape-sysinfo
そのコマンドを呼び出します。それが最大の遅延の原因だと思います。
ほとんどのファイルを再度有効にした後、50-landscape-sysinfo
それ99-esm
が私のトラブルの原因であるという結論に達しました
。50-landscape-sysinfo
実行に約5秒、99-esm
約3秒かかりました。残りのすべてのファイルは、全体で約2秒です。
どちらも重要50-landscape-sysinfo
で99-esm
はありません。50-landscape-sysinfo
興味深いシステムの統計情報(およびスペースが不足している場合も!)を99-esm
出力し、関連するメッセージを出力しますUbuntu Extended Security Maintenance
最後にecho '/usr/bin/landscape-sysinfo' > info.sh && chmod +x info.sh
、リクエストでスクリプトを作成し、リクエストに応じてそのプリントアウトを取得できます。