Có những thay đổi được thực hiện đối với cài đặt mặc định khi so sánh với LTS trước đó (16.04). Trong trường hợp của tôi, chế độ ngủ đông không hoạt động cho đến khi tôi thực hiện một số bước, trong số đó đã tăng kích thước tệp hoán đổi, bật nó lên, đảm bảo các chính sách cho phép, v.v.
Đây có thể dễ dàng là câu trả lời dài nhất của tôi trên toàn bộ StackExchange vì vậy tôi đã cố gắng làm tiêu đề mô tả .
Giày cao cổ như không có ngủ đông
Sẽ là khôn ngoan để xem nhật ký của bạn (dmesg
có thể giúp đỡ) và xem nếu có bất cứ điều gì ở đó. Có nhiều lý do khi bạn bảo hệ thống ngủ đông, nhưng thực tế nó sẽ không hoạt động, hoặc thay vào đó, nó sẽ tạm ngưng RAM (ngủ).
Hãy nhìn vào kern.log
vàsyslog
tìm kiếm bất kỳ tin nhắn liên quan đến ngủ đông cũng sẽ không bị tổn thương. Các phần bắt đầu với "vấn đề" có thể giúp bạn với các vấn đề cụ thể.
Hoán đổi tập tin hoặc phân vùng trao đổi
Một trong những thay đổi quan trọng là bây giờ bạn KHÔNG CÓ phân vùng trao đổi, nhưng bạn có TỆP trao đổi.
Tệp hoán đổi có thể không hoạt động đối với sự pha trộn giữa phần cứng / trình điều khiển / HĐH và chế độ ngủ đông.
Ngủ đông đã tắt
Chính sách cũng có thể tắt hoặc không cho phép ngủ đông.
Biệt ngữ
Tạm dừng RAM - RAM giữ dữ liệu, máy tính chuyển sang chế độ ngủ nhanh hơn, sử dụng nhiều năng lượng hơn khi bị treo, thức dậy nhanh hơn. Một số người gọi đây là giấc ngủ.
Đình chỉ vào đĩa - còn gọi là ngủ đông. RAM được lưu để trao đổi (phân vùng hoặc tệp), máy tính chuyển sang chế độ ngủ chậm hơn, sử dụng ít năng lượng hơn trong khi ngủ đông, thức dậy chậm hơn.
Điều kiện tiên quyết - bạn có đủ không gian?
Để ngủ đông, bạn cần (đơn giản hóa tại đây) lưu toàn bộ RAM vào ổ cứng. Vì vậy, bạn cần dành đủ không gian để làm như vậy. Nếu bạn không, điều này sẽ thất bại và bạn sẽ không ngủ đông.
free -m
sẽ cho bạn biết bạn có bao nhiêu bộ nhớ, sử dụng và bao nhiêu trong trao đổi của bạn.
df -h
sẽ cho bạn biết bạn có bao nhiêu dung lượng đĩa trên mỗi điểm gắn kết và bao nhiêu dung lượng được sử dụng, miễn phí, v.v ... Điều này rất quan trọng vì sau này bạn có thể muốn xác định vị trí tệp hoán đổi của mình hoặc phân vùng nào sẽ "cắt" đủ không gian cho trao đổi của bạn.
cat fstab
sẽ cung cấp cho bạn thông tin nếu bạn có một phân vùng trao đổi hoặc tập tin. Theo Ubuntu Hibernation FAQ swapfile
có thể không phải lúc nào cũng hoạt động với một số kết hợp phần cứng / trình điều khiển.
Nếu bạn không có đủ dung lượng, hãy theo dõi Câu hỏi thường gặp về trao đổi Ubuntu . Nó cho bạn biết làm thế nào để tăng tập tin hoán đổi, thêm tập tin khác, kiểm tra xem nó đã được sử dụng chưa, v.v ... Với các lệnh và giải thích. Tài nguyên thực sự tốt đẹp.
Tôi không có đủ dung lượng để lắp RAM!
Tài liệu hạt nhân nói:
/ sys / power / image_size kiểm soát kích thước của hình ảnh được tạo bởi cơ chế đình chỉ đĩa. Nó có thể được viết một chuỗi đại diện cho một số nguyên không âm sẽ được sử dụng làm giới hạn trên của kích thước hình ảnh, tính bằng byte. Cơ chế đình chỉ đĩa sẽ làm hết sức mình để đảm bảo kích thước hình ảnh sẽ không vượt quá con số đó. Tuy nhiên, nếu điều này hóa ra là không thể, nó sẽ cố gắng tạm dừng bằng cách sử dụng hình ảnh nhỏ nhất có thể. Cụ thể, nếu "0" được ghi vào tệp này, hình ảnh treo sẽ càng nhỏ càng tốt. Đọc từ tệp này sẽ hiển thị giới hạn kích thước hình ảnh hiện tại, được đặt thành 2/5 RAM có sẵn theo mặc định.
Vì vậy, hãy thử điều chỉnh kích thước hình ảnh của bạn. Làm thế nào - hỏi một câu hỏi khác xin vui lòng.
Điều kiện tiên quyết - kernel của bạn có hỗ trợ đình chỉ đĩa không?
Kernel hỗ trợ bất cứ điều gì được liệt kê trong /sys/power/state
, vì vậy:
cat /sys/power/state
Cho phép (theo tôi biết) entry bản có bao gồm: mem
, standby
, freeze
, disk
. Giải trình:
mem
- có một số ý nghĩa, nghĩa chính xác trong hệ thống của bạn sẽ tìm hiểu thông qua cat /sys/power/mem_sleep
. Tôi có:s2idle [deep]
standby
- Tạm dừng bật nguồn (nếu được hỗ trợ)
freeze
- Tạm dừng để nhàn rỗi (STI)
disk
- Đình chỉ vào đĩa (STD), ngủ đông . Điều này - bạn muốn.
Sau đó chúng ta cần kiểm tra cat /sys/power/disk
. Nếu bạn có ở disabled
đó, hãy lặn trong BIOS của bạn để tìm Secure Boot - đó là ý tưởng duy nhất tôi có thể cung cấp và điều duy nhất tôi biết có thể can thiệp và tắt chế độ ngủ đông. Mặc dù tôi chỉ biết về SecureBoot, nhưng có thể có các can thiệp khác, vì vậy hãy xem BIOS của bạn là một ý tưởng hay ngay cả khi bạn không có "khởi động an toàn" nào.
Đọc ở đây:
- Tài liệu hạt nhân
- Debian Wiki về chế độ ngủ đông
TBH, ngay cả khi kernel của bạn KHÔNG hỗ trợ ngủ đông, bạn có thể thử nó theo cách khác, cuộn xuống phầnInterfaces
.
Đọc này - cảnh báo và vấn đề - không có BTRFS
Không theo thứ tự đặc biệt:
- Không phải tất cả các chipset sẽ hoạt động (không có nguồn mà tôi có thể trích dẫn ở đây vì vậy hãy nói rằng đây là tin đồn)
- VAIO có vấn đề, được cho là có cờ để chống lại chúng
- SecureBoot thường được coi là can thiệp hoặc tắt chế độ ngủ đông
- Wake-on-LAN tiêu thụ năng lượng ngay cả khi ngủ đông
- Số lượng mô-đun (đặc biệt là đồ họa) có thể được khởi tạo TRƯỚC KHI hệ thống của bạn tiếp tục chính xác từ chế độ ngủ đông - đây thường là nguyên nhân khiến màn hình đen khi hoạt động trở lại . Hãy xem ArchLinux Wiki để biết các mẹo về cách gỡ lỗi. Tôi cũng đề xuất Câu hỏi thường gặp về Ubuntu về các vấn đề ngủ đông. Duyệt qua các lỗi Launchpad cũng có thể mang lại kết quả. IIRC, có một tham số kernel chỉ định độ trễ trong vài giây trước khi tiếp tục.
- Cho phép quy trình ngủ đông khác nhau đối với các phiên bản Polkit khác nhau
Không sử dụng BTRFS và ngủ đông: dữ liệu bị hỏng sẽ là kết quả.
Tôi muốn ngủ đông - phân vùng trao đổi
Có trường hợp, khi mọi người từ bỏ tập tin trao đổi và quay trở lại phân vùng trao đổi. Rốt cuộc, nó đã làm việc trên LTS trước đó. Tôi đã không thử, vì vậy sẽ không cung cấp con trỏ.
Tôi muốn ngủ đông - với tập tin trao đổi
- Hãy chắc chắn rằng bạn có đủ không gian ở đó. Câu hỏi thường gặp về hoán đổi Ubuntu cho bạn biết bạn cần bao nhiêu, các lệnh từ phía trên cũng làm như vậy. Nếu bạn cần thêm thông tin ở đây, xin vui lòng hỏi một câu hỏi khác, vì đây là một chủ đề dài.
- Tăng tệp hoán đổi hoặc tạo một tệp mới với kích thước đủ tốt (ưu tiên, tôi đồng ý với @muru ) và thay đổi tệp
/etc/fstab
mới. Khởi động lại để xem thay đổi được thực hiện tốt (lưu trữ sao lưu fstab
để bạn có thể dễ dàng hoàn nguyên chỉ trong trường hợp.
- Chỉ hạt nhân của bạn vào đây với các thông số phù hợp, để nó biết tiếp tục từ đâu.
- Cập nhật / cấu hình lại bộ tải khởi động của bạn và khởi động lại.
Thông số hạt nhân? Đáng sợ!
Đọc và quyết định cẩn thận nếu bạn muốn làm điều đó, nhưng đó chỉ là một cách để cấu hình kernel của bạn. Có thể dễ dàng hơn để ngủ đông thông qua systemd
và uswsusp
(xem Giao diện , bên dưới). Có thể, bạn - như tôi - cuối cùng sẽ quyết định đình chỉ RAM là đủ và bạn không muốn có 32GB trên một tệp hoán đổi (chẳng hạn như rất tuyệt vời cho những người có một ổ SSD trong máy tính xách tay của họ). Nhưng!
- ngủ đông để hoán đổi tệp yêu cầu
resume=
phải biết phân vùng tệp hoán đổi của bạn được bật và resume_offset=
để biết nơi nào trong tệp hoán đổi để bắt đầu tiếp tục.
- ngủ đông để phân vùng yêu cầu
resume=
trỏ đến phân vùng trao đổi.
- giải quyết các vấn đề màn hình đen cũng có thể yêu cầu
resumedelay=
.
Tài liệu hạt nhân về việc trì hoãn tiếp tục từ Hibernation:
resumedelay = [HIBERNATION] Trì hoãn (tính bằng giây) để tạm dừng trước khi cố đọc các tệp tiếp tục
Các tham số cần thiết cho tệp hoán đổi và ngủ đông :
tiếp tục = [SWSUSP]
Specify the partition device for software suspend
Format:
{/dev/<dev> | PARTUUID=<uuid> | <int>:<int> | <hex>}
sơ yếu lý lịch = [SWSUSP]
Specify the offset from the beginning of the partition
given by "resume=" at which the swap header is located,
in <PAGE_SIZE> units (needed only for swap files).
See Documentation/power/swsusp-and-swap-files.txt
Đối với việc resume=
chọn phong cách giống như root
yếu tố có trong fstab
. Vì vậy, /dev/sdaX
hoặc UUID
hoặc LVM. Để ngủ đông vào tệp - cung cấp phân vùng nơi tệp của bạn có thể được tìm thấy.
Đọc hiểu:
- https://www.kernel.org/doc/Documentation/admin-guide/kernel-parametereter
- https://wiki.archlinux.org/index.php/Kernel_parameter
Vấn đề - không tìm thấy tiêu đề trao đổi
Trao đổi tập tin cần phải được định dạng đúng. Nếu nhật ký của bạn cho bạn biết điều này, bạn đang cố gắng ngủ đông vào một tệp hoặc tham số sơ yếu lý lịch của bạn không đúng.
Chuyển sang phân vùng hoặc sửa tệp hoặc thay đổi giao diện được sử dụng để ngủ đông.
Xem: /unix/43508/debian-hibernate-probols-pm-swap-header-not-found
mkswap
được sử dụng để định dạng tập tin, đọc thêm về nó ở đây
Vấn đề! Ngủ đông không được phép!
Kiểm tra: pm-hibernate
(nếu gói pm-utils được cài đặt) hoặc systemctl hibernate
cho bạn biết bạn không được phép. Cài đặt mặc định trong Ubuntu kể từ IIRC 12.04.
(Các) Giải pháp: phụ thuộc vào phiên bản Polkit, phiên bản Ubuntu và hương vị của bạn ... Xem câu hỏi này . Ngoài ra, ArchWiki trên Polkit có thể giúp đỡ.
Đối với Mint, xem: https://forums.linuxmint.com/viewtopic.php?t=259912
Vấn đề! Ngủ đông bị vô hiệu hóa bởi một cái gì đó trong BIOS!
Kiểm tra: cat /sys/power/disk
có disabled
. Nhật ký hiển thị "Không thể hệ thống ngủ đông thông qua logind: Động từ ngủ không được hỗ trợ".
Giải pháp: tìm kiếm BIOS của bạn và tìm ra vấn đề. Tắt nó đi.
Giải pháp 2: thử giao diện ngủ đông khác.
Xem: Làm thế nào để kích hoạt chế độ ngủ đông trong 16.04.1? (hệ thống) .
Giao diện
- swsusp - giao diện kernel cấp thấp. Xem Điều kiện tiên quyết - kernel cho tập tin nào. Ghi vào tệp trực tiếp có thể gây ra đình chỉ (vào RAM, vào đĩa và kết hợp). Theo SwapFAQ có vấn đề với ngủ đông để tập tin.
- uswsusp - ArchWiki và Debian Wiki và một câu hỏi hay về AskUbfox với cách viết để sử dụng nó .
- systemd - ArchWiki trên đó
- pm-utils - AFAIK là tập hợp các tập lệnh gốc từ Debian - Tôi sẽ vui mừng chào đón thêm thông tin cho mình.
Đóng nhận xét
Đối với tôi, đó là vấn đề gần hai ngày làm việc để biên dịch nó. Hy vọng rằng điều này sẽ giúp bạn (và những người khác) giải quyết vấn đề của bạn nhanh hơn. Vẫn còn những điểm tôi đã bỏ lỡ nhưng đó là 2 giờ sáng và tôi không cảm thấy muốn viết nhiều hơn bây giờ. Tôi tất nhiên mở cho con trỏ của bất cứ ai để làm cho điều này tốt hơn, vì vậy hãy bình luận. Tôi sẽ trả lời một khi tôi ngủ, làm việc, vv :-)
Tôi không chắc chắn ngủ đông vào đĩa là tuyệt vời. Tôi đã đi với giấc ngủ cuối cùng. Nhưng đối với tôi, vấn đề là có một tệp 32 GB để có thể ngủ đông, vì tôi thường tránh trao đổi. Tệp hoán đổi ban đầu của tôi là 2GB và hầu như trống rỗng. YMMV. Tuy nhiên, chúc may mắn! Và bắt đầu với các bản ghi!