Trước khi chuyển sang trạng thái tạm dừng (hoặc ngủ đông đối với vấn đề đó), các quy trình không gian người dùng và (một số) luồng nhân bị đóng băng.
Nếu quá trình đóng băng không thành công, thì đó có thể là do quá trình không gian người dùng hoặc chuỗi nhân không thể đóng băng.
Để đóng băng một tiến trình không gian người dùng, hạt nhân sẽ gửi cho nó một tín hiệu được xử lý tự động và, khi đã nhận được, không thể bỏ qua. Tuy nhiên, nếu quá trình ở trạng thái ngủ liên tục (ví dụ: chờ I/O không thể hoàn thành do thiết bị không khả dụng), nó sẽ không nhận được tín hiệu ngay lập tức. Nếu độ trễ này kéo dài hơn 20 giây (=thời gian chờ đóng băng mặc định, hãy xem /sys/power/pm_freeze_timeout
(tính bằng mili giây)), quá trình đóng băng sẽ không thành công.
Nếu đó là một luồng nhân từ chối đóng băng, rất có thể đó là trình điều khiển thiết bị bị lỗi, nhưng thật khó để biết nếu không xem nhật ký.
NFS, CIFS và FUSE trong số những người khác đã được biết đến trong lịch sử vì đã gây ra các sự cố như vậy.
Trở lại trường hợp của bạn một cách cụ thể, của bạn dmesg
nên có một số chi tiết về tác vụ nào không thể đóng băng và bạn có thể bắt đầu từ đó. Pastebins của bạn hiện đã hết hạn, nhưng dự đoán mù quáng sẽ là CIFS/SMB - chẳng hạn, bạn có đang sử dụng bất kỳ cái nào trong số chúng để truy cập các chia sẻ Windows không?
Việc đóng băng các tác vụ trong kernel được giải thích tại đây, hy vọng điều đó sẽ hữu ích: https://www.kernel.org/doc/html/latest/power/freezing-of-tasks.html