Trên một trong những máy chủ của tôi, tôi nhận thấy sự chậm trễ thực sự khi đăng nhập SSH.
Kết nối bằng các tùy chọn ssh -vvv, độ trễ xảy ra tại debug1: Entering interactive session.
trích xuất kết nối:
debug1: Authentication succeeded (publickey).
Authenticated to IP_REDACTED ([IP_REDACTED]:22).
debug1: channel 0: new [client-session]
debug3: ssh_session2_open: channel_new: 0
debug2: channel 0: send open
debug1: Requesting no-more-sessions@openssh.com
debug1: Entering interactive session.
debug2: callback start
debug2: fd 3 setting TCP_NODELAY
debug3: packet_set_tos: set IP_TOS 0x10
debug2: client_session2_setup: id 0
debug2: channel 0: request pty-req confirm 1
bằng cách sử dụng phương pháp được phác thảo ở đây, tôi đã tạo đầu ra strace và nhận thấy dòng 14:09:53.676004 ppoll([{fd=5, events=POLLIN}], 1, {24, 999645000}, NULL, 8) = 1 ([{fd=5, revents=POLLIN}], left {0, 0}) <25.020764>
này mất 25 giây.
trích xuất đầu ra strace:
14:09:53.675567 clock_gettime(CLOCK_MONOTONIC, {4662549, 999741404}) = 0 <0.000024>
14:09:53.675651 recvmsg(5, {msg_name(0)=NULL, msg_iov(1)=[{"l\4\1\1\n\0\0\0\2\0\0\0\215\0\0\0\1\1o\0\25\0\0\0", 24}], msg_controll
en=0, msg_flags=MSG_CMSG_CLOEXEC}, MSG_DONTWAIT|MSG_NOSIGNAL|MSG_CMSG_CLOEXEC) = 24 <0.000024>
14:09:53.675744 recvmsg(5, {msg_name(0)=NULL, msg_iov(1)=[{"/org/freedesktop/DBus\0\0\0\2\1s\0\24\0\0\0"..., 146}], msg_controllen
=0, msg_flags=MSG_CMSG_CLOEXEC}, MSG_DONTWAIT|MSG_NOSIGNAL|MSG_CMSG_CLOEXEC) = 146 <0.000025>
14:09:53.675842 recvmsg(5, 0x7ffe0ff1dfa0, MSG_DONTWAIT|MSG_NOSIGNAL|MSG_CMSG_CLOEXEC) = -1 EAGAIN (Resource temporarily unavailab
le) <0.000023>
14:09:53.675925 clock_gettime(CLOCK_MONOTONIC, {4662550, 96075}) = 0 <0.000024>
14:09:53.676004 ppoll([{fd=5, events=POLLIN}], 1, {24, 999645000}, NULL, 8) = 1 ([{fd=5, revents=POLLIN}], left {0, 0}) <25.020764>
14:10:18.696865 recvmsg(5, {msg_name(0)=NULL, msg_iov(1)=[{"l\3\1\0013\0\0\0\3\0\0\0m\0\0\0\6\1s\0\5\0\0\0", 24}], msg_controllen=0, msg_flags=MSG_CMSG_CLOEXEC}, MSG_DONTWAIT|MSG_NOSIGNAL|MSG_CMSG_CLOEXEC) = 24 <0.000017>
14:10:18.696944 recvmsg(5, {msg_name(0)=NULL, msg_iov(1)=[{":1.10\0\0\0\4\1s\0#\0\0\0org.freedesktop."..., 155}], msg_controllen=0, msg_flags=MSG_CMSG_CLOEXEC}, MSG_DONTWAIT|MSG_NOSIGNAL|MSG_CMSG_CLOEXEC) = 155 <0.000018>
Tôi đã nhận thấy một mục trong nhật ký xác thực vào thời điểm thích hợp:
Jul 21 14:10:18 click sshd[8165]: pam_systemd(sshd:session): Failed to create session: Activation of org.freedesktop.login1 timed out
Không biết đủ về điều này, nó đang cố gắng thăm dò ý kiến gì và tại sao bây giờ lại mất 25 giây trên máy chủ cụ thể này.
Các journalctl -u systemd-logind
chương trình lệnh
Jul 20 11:33:06 click systemd-logind[19415]: Failed to abandon session scope: Transport endpoint is not connected
Jul 21 05:04:54 myhost systemd[1]: Started Login Service.
Jul 21 12:15:30 myhost systemd[1]: Started Login Service.
Jul 21 12:17:04 myhost systemd[1]: Started Login Service.
Jul 21 12:49:55 myhost systemd[1]: Started Login Service.
Jul 21 13:57:05 myhost systemd[1]: Started Login Service.
Jul 21 13:58:49 myhost systemd[1]: Started Login Service.
Jul 21 14:01:55 myhost systemd[1]: Started Login Service.
Jul 21 14:08:32 myhost systemd[1]: Started Login Service.
Jul 21 14:09:53 myhost systemd[1]: Started Login Service.
Jul 21 14:19:08 myhost systemd[1]: Started Login Service.
Jul 21 14:21:26 myhost systemd[1]: Started Login Service.
Jul 21 14:22:37 myhost systemd[1]: Started Login Service.
Jul 21 14:25:20 myhost systemd[1]: Started Login Service.
Jul 21 14:30:27 myhost systemd[1]: Started Login Service.
Jul 21 15:02:56 myhost systemd[1]: Started Login Service.
Phát hành lệnh systemctl restart systemd-logind.service
sửa nó (bây giờ có lẽ).
Là gì Activation of org.freedesktop.login1
nó đề cập đến? Có cách nào để tôi có thể ngăn chặn việc khởi động lại logind trong tương lai không? Tôi hy vọng theo thời gian tôi sẽ gặp vấn đề này với phần còn lại của các máy chủ mà tôi quản lý.
Chỉ cần lưu ý điều này bắt đầu xảy ra trên một máy chủ khác.
$ sudo service systemd-logind status
● systemd-logind.service - Login Service
Loaded: loaded (/lib/systemd/system/systemd-logind.service; static)
Active: active (running) since Tue 2015-06-16 14:10:57 BST; 1 months 12 days ago
Docs: man:systemd-logind.service(8)
man:logind.conf(5)
http://www.freedesktop.org/wiki/Software/systemd/logind
http://www.freedesktop.org/wiki/Software/systemd/multiseat
Main PID: 1701 (systemd-logind)
Status: "Processing requests..."
CGroup: /system.slice/systemd-logind.service
└─1701 /lib/systemd/systemd-logind
Jul 28 13:16:21 myhost systemd[1]: Started Login Service.
Jul 28 13:16:47 myhost systemd[1]: Started Login Service.
Jul 28 16:09:23 myhost systemd[1]: Started Login Service.
Jul 28 16:09:49 myhost systemd[1]: Started Login Service.
Jul 28 16:10:15 myhost systemd[1]: Started Login Service.
Jul 28 16:10:41 myhost systemd[1]: Started Login Service.
Jul 28 22:50:19 myhost systemd[1]: Started Login Service.
Jul 29 05:00:15 myhost systemd[1]: Started Login Service.
Jul 29 11:00:20 myhost systemd[1]: Started Login Service.
Jul 29 11:09:56 myhost systemd[1]: Started Login Service.
EDIT - journalctl
đầu ra mở rộng .
EDIT2 - đã thêm trạng thái logind systemd như được đề xuất trong các bình luận khi nhận thấy điều này bắt đầu trên một máy chủ khác.
CẬP NHẬT - Điều này đang bắt đầu xảy ra với phần còn lại của máy chủ Jessie của tôi. Tôi có phải là người duy nhất trải nghiệm điều này? Phải có một số sửa chữa khác ngoài khởi động lại systemd-logind, có ai có suy nghĩ gì không?
Có một báo cáo lỗi Debian trên 770135 này .
systemcts
lệnh
systemctl
tất nhiên
journalctl -u systemd-logind
systemcts status systemd-logind
trước khi khởi động lại để xem có gì sai với nó (đã thoát, thất bại, bất cứ điều gì).ppoll
chỉ là một hòa giải viên đang chờ phản hồi từ systemd vì vậy bạn không thể đổ lỗi cho nó.