Hoán đổi kích thước phân vùng cho RAM 4GB


27

Tôi đang dự định cài đặt phiên bản Ubuntu 9.04. Tôi nên dành bao nhiêu không gian cho phân vùng trao đổi. Tôi nhớ cài đặt nó để tăng gấp đôi kích thước RAM khi tôi cài đặt trở lại. Lúc đó RAM của tôi là 256 MB. Vì vậy, tôi đã thiết lập phân vùng trao đổi thành 512 MB.

Câu trả lời:


15

Tôi muốn nói rằng một quy tắc tốt là thực sự giống như đã được đề cập ở trên. 2 lần bộ nhớ vật lý. Một cái gì đó để xem xét ở đây, trong khi có thể sử dụng phân vùng trao đổi nhỏ hơn và nó sẽ đủ trong hầu hết các trường hợp thông thường, nếu bạn muốn hệ thống này ổn định vững chắc, tôi thực sự sẽ làm theo khuyến nghị 8 GB. Trong thực tế, tôi khuyên dùng 2 * RAM + 1 MB để có thể trao đổi hoàn toàn 2 bản sao của bộ nhớ. Điều này tránh được kịch bản "trò chơi vỏ" có thể có tác động tiêu cực về hiệu suất. Điều này sẽ làm cho bạn là đảm bảo mức độ phục hồi nếu bạn gặp phải một sự kiện bất thường với hệ thống của bạn.

Tôi đã thấy các tình huống trong đó các ứng dụng hoạt động kém trong môi trường không giám sát và trước khi bạn biết điều đó, hệ thống của bạn bắt đầu chậm lại để thu thập dữ liệu.

Tùy thuộc vào những gì bạn đang làm, bạn thậm chí có thể phân phối hoàn toàn với tệp hoán đổi. Không gian thêm cho HĐH tiện dụng khi chạy nhiều ứng dụng cùng một lúc. Tuy nhiên, nếu bạn chỉ có ý định chạy một vài quy trình, không có ý định tương tác với GUI, việc vô hiệu hóa tệp hoán đổi có thể phù hợp.

Nhưng nếu bạn sắp có một tập tin trao đổi, tôi luôn sử dụng công thức định cỡ bên dưới.

[(2 x  RAM) + 1 MB] = Swap File Size

Tôi cũng khuyên bạn nên đặt tệp hoán đổi của mình trên một đĩa riêng biệt khi có thể vì điều này sẽ tăng hiệu suất vì HĐH có thể trao đổi vào và ra cùng lúc với đọc / ghi từ đĩa dữ liệu.

Tôi hy vọng điều này là hữu ích.


1
Bạn cứ nói tệp hoán đổi: điều này rất hiếm với Linux, thông thường hoán đổi là một phân vùng riêng của ổ đĩa, và không phải là một tệp trong phân vùng khác.
Justin Smith

14

Linux có thể hoạt động khá vui vẻ mà không cần trao đổi nếu bạn có đủ RAM cho mọi thứ bạn yêu cầu, mặc dù vậy vẫn nên có một số trao đổi vì đôi khi nó có thể đạt được hiệu suất tốt hơn khi gần đầy bộ nhớ bằng cách đẩy một số không phải gần đây sử dụng các công cụ ra đĩa để giải phóng RAM để sử dụng làm bộ đệm / bộ đệm cho các hoạt động IO hiện đang hoạt động.

Ngoài ra, có một số trao đổi, cho dù bạn có bao nhiêu RAM, cho phép mạng an toàn thêm một chút nên ứng dụng hoạt động sai và cần nhiều RAM hơn bình thường hoặc bạn chọn làm điều gì đó bất thường cần nhiều bộ nhớ.

Nói chung, tôi không đồng ý với 2xRAM trên các máy hiện đại. Nếu bạn có đủ để kết thúc với các trang có giá trị 8Gb để hoán đổi ra đĩa thì hệ thống của bạn có khả năng sẽ đạt đến tốc độ hoàn toàn không thể sử dụng được vào thời điểm đó. Thậm chí 1xRAM có thể bị quá mức trong nhiều trường hợp IMO. Hãy nhớ rằng bạn có thể thêm không gian hoán đổi dưới dạng tệp bất cứ lúc nào, vì vậy bạn có thể thêm nhiều trao đổi sau này nếu bạn thấy bạn cần. ví dụ: để thêm một GB trao đổi:

dd if=/dev/zero of=/path/to/newfile bs=1024 count=1048576
mkswap /path/to/newfile
swapon /path/to/newfile

và để loại bỏ nó (một khi không còn cần thiết):

swapoff /path/to/newfile
rm /path/to/newfile

(hãy nhớ rằng việc hoán đổi các tệp chậm hơn một chút so với trực tiếp đến phân vùng hoặc khối lượng logic khi bạn có chi phí hệ thống tệp và khả năng phân mảnh lớn hơn để xem xét)

Ngủ đông, tức là trên máy tính xách tay / netbook, có thể làm phức tạp mọi thứ một chút vì IIRC Linux lưu trữ trạng thái bộ nhớ trong không gian trao đổi, do đó bạn chắc chắn cần nhiều hơn kích thước RAM của mình dưới dạng hoán đổi nếu bạn dự định sử dụng chế độ ngủ đông (và tôi không biết nếu điều đó cần phải được trao đổi dựa trên phân vùng / khối lượng hoặc nếu có thể sử dụng dựa trên tệp - nó chắc chắn sẽ là một thứ được đề cập trong fstabđó có thể được nhìn thấy rất sớm trong quá trình khởi động mà đĩa ram inital đang được sử dụng và root thực sự của bạn chưa được gắn ).

Những điểm này tất cả có thể là moot mặc dù. Nếu bạn có terabyte dung lượng đĩa, việc phân bổ 8Gb để trao đổi có thể sẽ rất khó khăn!


9

Theo Ubuntu SwapFAQ ở đây , phép tính là 2 * MB RAM. Vì vậy, trong trường hợp này 8GB. Thực tế tuy nhiên bạn không cần nhiều hơn 2GB.


vâng 8 GB là đáng kể!
darthvader

5
Tăng gấp đôi kích thước RAM có vẻ quá mức, đặc biệt là với số lượng RAM lớn hơn - tôi có 8GB và tôi thấy rằng hoạt động tốt hơn với trao đổi 1GB thay vì trao đổi 16GB, vì có quá nhiều khoảng trống trong bộ nhớ chính.
Andrew Scagnelli

@A Chính xác - Lý do tôi đề cập rằng thực tế bạn sẽ không cần nhiều hơn 2GB. Các tính toán cho điều này là cũ. Tuy nhiên hầu hết các bài báo trực tuyến đều cũ hơn 2 năm.
BinaryMisfit

Nó đã được sử dụng để nói rằng bạn không bao giờ cần một trao đổi lớn hơn 300 MB. Bây giờ, với 4GB RAM, tôi có hai phân vùng trao đổi 1GB trong hai đĩa khác nhau mà tôi không bao giờ sử dụng (đã ổn định ở mức 10).
voyager

Lưu ý rằng tôi không sử dụng ngủ đông / đình chỉ trên máy tính để bàn của mình. (Thậm chí sau đó bạn có thể tạo một tập lệnh để tạo tệp hoán đổi trước khi ngủ đông và sau đó xóa tập tin này khi thức dậy).
voyager

3

Có còn cần thiết để dành một phân vùng cho việc hoán đổi? Tôi nghĩ rằng ngày nay điều này cũng hoạt động trên một tập tin trên phân vùng hệ thống. Và sau đó tôi cho rằng bạn có thể dễ dàng thay đổi kích thước nếu bạn sẽ chèn thêm bộ nhớ hoặc nếu bạn nghĩ rằng bạn không cần nhiều không gian hoán đổi đó.

Chỉnh sửa : Đây là cách có thể được thực hiện (bắt đầu từ kernel linux 2.6).


Ngày nay nó hoạt động như cửa sổ? Tôi không biết; đã rời khỏi linux từ lâu rồi.
darthvader

Bạn cũng có thể sử dụng tuxonice.net
voyager

Các tập tin hoán đổi đã có thể khá lâu bây giờ. Phân vùng trao đổi thực hiện tốt hơn nhiều.
Justin Smith

3

trước hết, nếu bạn muốn sử dụng chế độ ngủ đông, v.v., bạn sẽ cần một phân vùng trao đổi ít nhất là kích thước của RAM.

Thứ hai, hãy nhớ rằng RAM có kích thước là bội số của 2 và không phải là bội số của 10, do đó, việc khai báo 1GB dung lượng cho 2 thanh RAM 512MiB (mỗi 536870912 bytes) là không đủ, vì đây chỉ là 1000 MB (1000000000 byte) và không phải là 1024MiB ( 1073741824 bytes) như bắt buộc ... thay vào đó bạn sẽ cần phải có một máy tính và làm1024 * 1024 * 1024 * # of GiB

cũng đọc http://en.wikipedia.org/wiki/Binary_prefixman 8 unitstrên hộp linux của bạn

vì vậy, đối với bốn GB RAM, trao đổi của bạn cần ít nhất 4294967296 byteshoặc 4295 MBsử dụng tất cả các tính năng.

vì nó khá lớn, nên nó đủ để đáp ứng mọi nhu cầu của bạn


1
Bạn không cần một phân vùng trao đổi để tạm dừng. Bạn chỉ có thể sử dụng tệp hoán đổi (không cần tồn tại cho đến khi bạn tạm ngưng). superuser.com/questions/21020/...
voyager

1

Từ kinh nghiệm cá nhân của tôi với Linux, tôi đã biết rằng công thức thông thường của kích thước RAM gấp 2 lần chỉ phù hợp với các hệ thống cũ hơn có RAM 1 GB - 2 GB.

Tuy nhiên, đối với các hệ thống mới hơn, có nhiều Gigs RAM hơn, tôi đề xuất những điều sau đây

Nếu RAM <2 GB, thì Hoán đổi không gian = 2 x RAM

Nếu RAM = 2 GB - 8 GB, thì Hoán đổi không gian = RAM

Điều này sẽ không có bất kỳ tác động nào đến hiệu suất hệ thống ngay cả khi đang chạy các tính toán và ứng dụng hiệu suất cao.

Mặc dù tôi khuyên bạn nên sử dụng dung lượng RAM ban đầu nếu bộ nhớ của bạn ít nhất là 4 GB. Điều đó sẽ giữ cho hệ thống ổn định và hiệu quả.

Nếu RAM = 8 GB - 64 GB, thì Hoán đổi không gian = 0,5 x RAM

Trong trường hợp này, tôi khuyên bạn nên sử dụng tối đa 4 GB RAM vì như vậy là quá đủ, ngoại trừ các ứng dụng đa phương tiện.


Chức năng kích thước mem-to-exchange của bạn không liên tục ở mức 2 GB và một lần nữa là 8 GB. Điều đó có nghĩa là "sai" ít nhất trên một kích thước của sự gián đoạn ...
einpoklum - phục hồi Monica

0

Các Ubuntu SwapFaq lẽ sẽ trả lời rất nhiều câu hỏi của bạn. Với số lượng RAM lớn hơn, bạn có thể được lợi từ việc thay đổi "swappiness" mặc định như được nêu trong bài viết này.


mơ hồ, và không hữu ích. hướng dẫn lỗi thời.
ahnbizcad
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.