Tôi có thể ngủ đông Linux mà không cần phân vùng trao đổi không?


30

Tôi đã không thiết lập phân vùng trao đổi trên PC của mình, vì a) Tôi có nhiều RAM (8 GB) và b) Tôi có ổ cứng lớn mà tôi không muốn cắt thành các mảnh nhỏ, vì vậy các phân vùng nhỏ nhất của tôi là 50 GiB và tôi đã sử dụng chúng cho hệ điều hành.

Bây giờ, để ngủ đông, Linux của tôi (Ubuntu Jasyy) cần phải trao đổi. Tôi đã có một phân vùng 100 GB dự phòng nên tôi thiết lập nó dưới dạng trao đổi, nhưng tôi không hài lòng với điều đó. Nó chỉ được sử dụng để ngủ đông (luôn có nhiều RAM miễn phí và hệ thống không bao giờ chuyển đổi) và nó cũng hơi lớn để trao đổi. Ngoài ra, cuối cùng tôi sẽ cần nó cho thứ khác.

Làm cách nào tôi có thể ngủ đông (tạm dừng vào đĩa) mà không có phân vùng trao đổi trong Ubuntu Jaunty?


3
Dưới đây là hướng dẫn chính thức từ debian về hibernate mà không cần trao đổi: wiki.debian.org/Hibernation/Hibernate_Without_Swap_Partition
Francesco

Mặc dù bạn có rất nhiều RAM, việc hoán đổi vẫn có thể giúp bạn tăng hiệu năng, khi không gian của mã ứng dụng không được sử dụng (và do đó bị tráo đổi) được sử dụng để lưu trữ dữ liệu.
Michael Schmid

Câu trả lời:


23

Ý tưởng chưa được kiểm tra: tại sao bạn không tạo trình bao bọc cho s2diskhoặc bất kỳ tiện ích nào xử lý tạm dừng vào đĩa quản lý tệp hoán đổi (trái ngược với phân vùng trao đổi) và xóa nó trong sơ yếu lý lịch?

  • Tạo tệp hoán đổi: dd if=/dev/zero of=/swapfile bs=1024 count=8388608(8GB)
  • Thiết lập tệp hoán đổi: mkswap /swapfile
  • Chỉ khi bạn cần thiết lập tạm ngưng, bạn mới có thể kích hoạt nó: swapon /swapfile
  • Khi bạn tiếp tục, bạn có thể tắt nó: swapoff /swapfile

Có thể tiếp tục từ các tệp hoán đổi và được ghi lại trên kernel.org


Ihad cũng đã nghĩ đến một tập tin hoán đổi, nhưng tôi không biết làm thế nào để chuyển nó vào kernel khi khởi động. Tôi có thể thực hiện "tiếp tục = / đường dẫn / đến / tệp" như với thiết bị chặn không?
Hanno Fietz

Xem cập nhật của tôi với một liên kết đến tài liệu về tiếp tục từ các tập tin trao đổi.
Robert Munteanu

8
Xin vui lòng, thêm lệnh chmod 0600 /swapfile. Một tập tin hoán đổi có thể đọc được trên thế giới là một lỗ hổng lớn cục bộ.
dùng4035

2
Tôi biết điều này đã cũ, nhưng tôi sẽ sử dụng 'cắt ngắn' thay vì 'dd'. Không cần phải thực sự ghi bất cứ điều gì vào đĩa.
Guido

4
Trên thực tế, bạn cần phải viết một chuỗi một cái gì đó vào đĩa, tạo tập tin với kết quả cắt ngắn swapon: /swapfile: skipping - it appears to have holes..
hlovdal

9

Bạn có thể có hai cách ở đây,

  1. Xem xét một tập tin trao đổi thay vì một phân vùng trao đổi
    • Sử dụng một USB nhỏ (so với kích thước phân vùng của bạn, nhưng đủ lớn cho bộ nhớ) Thanh USB cho phân vùng trao đổi

Dù bạn làm gì, tôi nghĩ rằng một swapoffswaponsau khi sơ yếu lý lịch sẽ hữu ích.
Và, vì bạn không thực sự yêu cầu trao đổi, bạn có thể rời khỏi nó swapoffsau khi tiếp tục.

Cập nhật: Nhận xét làm cho một điểm tốt về ngủ đông chậm USB.
Vì vậy, hãy kiểm tra theo thứ tự được đánh số - lược đồ đầu tiên có ghi chú cho chế độ ngủ đông bằng cách sử dụng các tệp hoán đổi.


Vì tò mò,
tôi muốn biết lý do tại sao bạn muốn ngủ đông khi các linux như Ubuntu có thể tắt và khởi động quá nhanh.
Tôi đoán

  • bạn tải ram 8GB của mình với một số ứng dụng và để chúng ở đó
  • hoặc, bạn thức dậy trên mạng LAN

Nhưng, điều đó có thực sự như vậy không? hoặc, bạn có một số lý do khác để ngủ đông?

Tôi sử dụng USB khởi động Ubuntu và luôn tắt máy.


2
Đình chỉ vào thanh flash USB sẽ rất chậm .
Tadeusz A. Kadłubowski

6
Tôi có xu hướng mở vô số thứ trong khi làm việc và tôi muốn lấy lại tất cả vì nó là ngày hôm sau. Ubuntu khởi động rất nhanh (thực ra, với tôi nó có vẻ nhanh hơn sau đó tiếp tục), nhưng Eclipse, Firefox, v.v. có thể không và các ứng dụng khác thậm chí có thể không lưu trạng thái hiện tại của chúng khi đóng.
Hanno Fietz

2
@Hanno, Firefox cũng cho phép bạn lưu các phiên ngay đến vị trí cuộn của bạn. Vì vậy, Save-and-Quite là tuyệt vời. Không chắc chắn những gì Eclipse có thể làm.
nik

3
Firefox không nhớ không gian làm việc của bạn có mỗi cửa sổ của nó, vì vậy có Pita nhỏ phải phân phối lại chúng vào vị trí, sau khi chờ tất cả chúng tải. Cũng không có cách nào để phục hồi trạng thái của những thứ như cửa sổ đầu cuối.
trực giác

Ngủ đông toàn bộ 8GB bộ nhớ sẽ mất ít hơn một phút với thanh flash USB này .
trực giác

4

Có, nhưng không phải không có một số nỗ lực. Có 2 cách khác nhau để ngủ đông (đình chỉ đĩa) trên linux:

  1. swswap , được bao gồm trong kernel
  2. tuxonice (trước đây là đình chỉ2), không phải vậy.

Tuxonice có sẵn như là một bản vá cho kernel và sẽ cho phép bạn viết hình ảnh treo vào một tệp thông thường.

Từ Wikipedia :

TuxOnIce (formerly known as Suspend2) is an implementation of the suspend-to-disk (or hibernate) feature which is available as patches for the 2.6 Linux kernel. It was formerly known as 'swsusp'. During the 2.5 kernel era, Pavel Machek forked the original out-of-tree version of swsusp (then at approximately beta 10) and got it merged into the vanilla kernel, while development continued in the swsusp/Suspend2/TuxOnIce line. TuxOnIce includes support for SMP, highmem and preemption. Its major advantages over swsusp are:

    * It has an extensible architecture that allows for arbitrary transformations on the image and arbitrary backends for writing the image;
    * It prepares the image and allocates storage prior to doing any storage and accounts for memory and storage usage very carefully, thereby becoming more reliable;
    * Its current modules for writing the image have been designed for speed, combining asynchronous I/O, multithreading and readahead with LZF compression in its default configuration to read and write the image as fast as hardware is able;
    * It has an active community supporting it via a wiki, mailing lists and irc channel (see the TuxOnIce website);
    * It is more flexible and configurable (via a /sys/power/tuxonice interface);
    * Whereas the current swsusp (and uswsusp) implementations support writing the image to one swap device only, TuxOnIce supports multiple devices in any combination of swap files and swap partitions. It can also write the image to an ordinary file, thereby avoiding potential race issues in freeing memory when preparing to suspend.
    * It supports encryption by various methods;
    * It can store a full image of memory (resulting in a more responsive system post-resume), while uswsusp and swsusp write at most half the amount of RAM.

Vì nó không được bao gồm trong kernel mặc định, bạn không may phải lấy các bản vá kernel có sẵn cho Jaunty và tự biên dịch kernel.

Có một số hướng dẫn mở rộng ở đây , nhưng bạn có thể muốn thử đề xuất của Robert trước khi đi lang thang trên con đường này, trừ khi bạn là một tay già trong việc cuộn các hình ảnh hạt nhân của riêng bạn.


2
Chà, tôi đã điều khiển một số hạt nhân (tôi đã là một người đam mê Gentoo trong một số năm), nhưng có một lý do tại sao tôi chuyển sang Ubuntu ...;)
Hanno Fietz

3

Như Joel và Jeff đã thảo luận trên podcast , tắt hoán đổi nói chung không phải là một ý tưởng hay - ngay cả khi nó có giá trị (mà không phải vậy) - không gian đĩa ngày nay cực kỳ rẻ mà việc bỏ nó không làm bạn tốn kém bất cứ điều gì Bạn có thể nhận được một hợp đồng với giá dưới mười xu (nghĩa là Euro)!

để trích dẫn:

Atwood: Tôi nghĩ rằng mọi người đam mê tại một thời điểm nào đó đều trải qua quá trình suy nghĩ này: tôi có hàng tấn bộ nhớ, có lẽ tôi có thể chuyển tập tin trang của mình. Tôi thực sự có một mục blog về điều này. ... Dòng cú đấm là: nó không bao giờ có giá trị.

Nghe podcast để biết thêm về cuộc trò chuyện (bắt đầu vào khoảng phút 59) hoặc đọc câu hỏi tại serverfault được liên kết trên trang podcast (câu hỏi 23621). Họ nói về tệp trang windows, nhưng đối số có giá trị như nhau đối với UNIX (mặc dù họ có thể quản lý bộ nhớ theo một cách khác).


1
Chà, tôi không ngại phải trao đổi, trên thực tế, thiết lập hiện tại của tôi chỉ sử dụng phân vùng 100 gig dự phòng đó làm trao đổi. Những gì tôi làm, mặc dù, có một phân vùng trao đổi . Trao đổi 100 gig chỉ là vô nghĩa, và tôi không muốn có một phân vùng nhỏ chỉ để trao đổi. Swapfile rất tốt cho tôi, nhờ câu trả lời của Robert và nik, giờ tôi cũng biết cách sử dụng chúng để ngủ đông, vì vậy tôi sẽ sử dụng nó.
Hanno Fietz

4
Vấn đề với việc có một phân vùng "nhỏ" là gì? Btw. Tôi hoàn toàn không xem xét phân vùng 8GB - Tôi đã sử dụng các bản cài đặt linux trong nhiều năm sống trên / partiton nhỏ hơn thế. Và chiếc PC đầu tiên tôi sử dụng có ổ cứng 20 MB ..
0x89

1
Trên thực tế, Linux quản lý bộ nhớ theo cách hoàn toàn khác với Windows. Ngay cả trên máy tính xách tay cũ của tôi với 2GB trao đổi ram hầu như không được sử dụng, giảm 200 MB vẫn có giá trị tối đa tôi thấy
vava

@vava: Bạn có thể đúng, tôi đã điều chỉnh câu trả lời của mình một chút. Nhưng thực tế là bạn đã thấy 200 MB được giảm tải cho trao đổi của bạn thực sự hỗ trợ quan điểm của tôi ..
0x89
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.