Điểm:0

Đăng xuất/thoát khỏi 'su mất > 1 phút

lá cờ cn
JK1

Nếu tôi 'su root' hoặc 'su <other_user>' từ tài khoản đăng nhập người dùng của mình rồi đăng xuất (hoặc thoát), sẽ mất khoảng 1 phút để quá trình đăng xuất hoàn tất và đưa tôi trở lại trình bao người dùng của mình. Trong phút đó, quá trình 'su <other_user>' đang sử dụng 100% CPU. Tôi có thể đăng xuất nhanh hơn một chút nếu tôi ctrl-c một vài lần (điều này có lẽ làm gián đoạn mọi thứ đang chạy khi thoát/đăng xuất).

Điều này xảy ra ngay cả khi tôi không có .profile, .bash_profile, .bashrc, .logout, v.v. trong thư mục chính ~<other_user>. Nó xảy ra với hoặc với cờ '-l' (đăng nhập shell).

Độ trễ tương tự xảy ra ngay cả khi tôi 'su' sử dụng /bin/sh (ví dụ: 'su <other_user> -s /bin/sh').

Tuy nhiên, nếu tôi chuyển người dùng sang tài khoản của riêng mình (tức là 'su <my_user>') thì quá trình đăng xuất sẽ không bị chậm trễ. Cũng chạy 'sudo -u <other_user> ' không có độ trễ. Cụ thể, 'sudo -u root bash' cung cấp cho tôi một trình bao gốc, thoát ngay lập tức (trong khi 'sudo -u root su' trễ trong một phút trở lên).

Bạn có biết điều gì có thể gây ra việc đăng xuất bị trì hoãn như vậy sau khi chuyển sang trình bao người dùng khác không? (Các) quy trình nào được kích hoạt khi đăng xuất/thoát sẽ gây ra quá trình thoát chậm như vậy?

Lưu ý rằng tôi đang chạy Ubuntu 18.04.


Lưu ý khi chạy 'dấu vết', có vẻ như nó bị treo ở câu lệnh 'openat' cuối cùng:

nhập mã heresrace: Quy trình 27411 được đính kèm
openat(AT_FDCWD, "/etc/passwd", O_RDONLY|O_CLOEXEC) = 6
openat(AT_FDCWD, "/etc/login.defs", O_RDONLY) = 6
openat(AT_FDCWD, "/proc/sys/kernel/hostname", O_RDONLY|O_CLOEXEC) = 6
openat(AT_FDCWD, "/etc/passwd", O_RDONLY|O_CLOEXEC) = 7
openat(AT_FDCWD, "/run/fscrypt/1002.count", O_RDWR|O_CREAT|O_CLOEXEC, 0600) = 7
openat(AT_FDCWD, "/etc/group", O_RDONLY|O_CLOEXEC) = 7
openat(AT_FDCWD, "/etc/fscrypt.conf", O_RDONLY|O_CLOEXEC) = 7
openat(AT_FDCWD, "/proc/sys/vm/drop_caches", O_WRONLY|O_SYNC|O_CLOEXEC) = 7
+++ đã thoát với 0 +++

Lưu ý: việc chạy "echo 3 >| /proc/sys/vm/drop_caches" theo cách thủ công cũng mất khoảng một phút trong khi tốc độ có vẻ rất nhanh. Ngay cả khi chạy lại ngay lập tức cũng mất nhiều thời gian như vậy khi chạy lần thứ hai. Vì vậy, những gì có thể mất quá nhiều thời gian để loại bỏ bộ nhớ cache?

Và như đã lưu ý ở trên, tải cpu tăng vọt lên ~ 100% khi điều đó xảy ra ...

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.