Tôi nên đổi bao nhiêu tiền cho 1GB đến 8TB RAM vào ngày 14.04 trở lên?


14

Tôi sẽ cài đặt 64 bit 14.04 trên một máy mới với RAM từ 1 đến 128 GB và thậm chí nhiều RAM hơn sau này. Tôi nên phân bổ bao nhiêu dung lượng cho phân vùng trao đổi?

Và đặc biệt: TẠI SAO những khuyến nghị cho những con số này?

(Không có câu trả lời nào ở đâyở đây giải thích bất kỳ lý do nào và có một chút ngày nếu chúng ta nhìn vào 1GB hoặc RAM trở lên)


6
Bản sao có thể có của tôi có RAM 16GB. Tôi có cần trao đổi 32GB không? Có câu trả lời từ năm 2017 (hoặc được cập nhật vào năm 2017), vì vậy nó hiện giữ các khuyến nghị gần đây hơn so với đề xuất này.
Melebius

1
@Melebius: Tôi không đồng ý: Mặc dù câu hỏi này mới hơn, nhưng nó chung chung hơn câu hỏi mà bạn đang cố gắng sao chép. Câu hỏi và trả lời này bao gồm câu hỏi cũ hơn, nhưng điều ngược lại là không đúng! ;-)
Fabby

1
@Fabby Trong trường hợp đó, người khác có nên được đánh dấu là bản sao của cái này không?
Melebius

1
@Melebius Nếu cả hai câu hỏi có thể được người đánh giá sử dụng làm câu hỏi trùng lặp của các câu hỏi khác trong các tình huống khác nhau, thì cả hai câu hỏi đều có thể được giữ để xử lý các tình huống khác nhau này vì cả hai câu hỏi đều có câu trả lời được đánh giá cao.
karel

2
@Melebius Chúng tôi đã có một cuộc thảo luận về chủ đề này trong meta và cộng đồng đã quyết định để mỗi người đứng như vậy.
Fabby

Câu trả lời:


30

Câu trả lời ngắn gọn:

Đặt tệp hoán đổi của bạn thành:

  • round(sqrt(RAM))nếu bạn không sử dụng chế độ ngủ đông
  • RAM+round(sqrt(RAM))nếu bạn sử dụng ngủ đông

Đặt của bạn swappinessthành 10 trên máy tính để bàn, nhưng không phải trên máy chủ!

Câu trả lời dài:

Trong quá khứ:

Quy tắc sử dụng trong 25 năm qua là tối thiểu 1xRAM và tối đa 2xRAM, vì vậy đó là những gì bạn sẽ thấy được trích dẫn mọi lúc.

Mức tối thiểu đó đã được đặt lại vào thời kỳ đồ đá khi tôi còn là một thiếu niên và khủng long vẫn đi lang thang trên Trái đất và vì RAM quá đắt và bạn hoàn toàn cần không gian hoán đổi đó để có thể hoàn thành mọi thứ.

Mức tối đa được đặt vào thời điểm đó vì lợi nhuận giảm dần: quá chậm để phải trao đổi quá nhiều bộ nhớ vì truy cập ổ cứng chậm hơn 1000 lần so với RAM: tốt trong trường hợp khẩn cấp, nhưng không thực sự tốt cho sử dụng hàng ngày! Vào thời điểm đó, khi bạn hết dung lượng trao đổi, đó là lúc để thêm RAM! (điều này vẫn đúng cho đến ngày hôm nay).

Hiện tại:

  1. Nếu bạn không sử dụng ngủ đông và bộ nhớ của bạn là vượt quá 1GByte quy định mới của ngón tay cái là round(sqrt(RAM))nơi RAMrõ ràng là dung lượng RAM của bạn trong GB và sqrtcăn bậc hai. :-)

  2. Nếu bạn sử dụng chế độ ngủ đông, bạn cần có thể hoán đổi toàn bộ dung lượng RAM + đã hoán đổi RAM sang đĩa, do đó công thức trở thành: RAM+round(sqrt(RAM))

  3. Quy tắc giảm lợi nhuận vẫn giữ tối đa cho đến ngày hôm nay, nhưng trừ khi bạn kiểm tra mức sử dụng thực tế của mình, việc sử dụng 2xRAM chỉ là một sự lãng phí không gian đĩa , vì vậy đừng sử dụng tối đa trừ khi bạn hết dung lượng trao đổi bằng các phương pháp khác .

Tất cả những thứ này cùng nhau cung cấp cho bạn bảng sau: (3 cột cuối biểu thị không gian hoán đổi)

    RAM   No hibernation    With Hibernation    Maximum
    1GB              1GB                 2GB        2GB
    2GB              1GB                 3GB        4GB
    3GB              2GB                 5GB        6GB
    4GB              2GB                 6GB        8GB
    5GB              2GB                 7GB       10GB
    6GB              2GB                 8GB       12GB
    8GB              3GB                11GB       16GB
   12GB              3GB                15GB       24GB
   16GB              4GB                20GB       32GB
   24GB              5GB                29GB       48GB
   32GB              6GB                38GB       64GB
   64GB              8GB                72GB      128GB
  128GB             11GB               139GB      256GB
  256GB             16GB               272GB      512GB
  512GB             23GB               535GB        1TB
    1TB             32GB              1056GB        2TB
    2TB             46GB              2094GB        4TB
    4TB             64GB              4160GB        8TB
    8TB             91GB              8283GB       16TB

Trên đây chỉ là một quy tắc của ngón tay cái; Đó không phải là định luật hấp dẫn!
Bạn có thể phá vỡ quy tắc này (không giống như luật hấp dẫn) nếu trường hợp sử dụng cụ thể của bạn khác!

Mẹo chuyên nghiệp: Luôn phân bổ SWAP khi bắt đầu ổ cứng vì các đầu cần di chuyển ít hơn vào bên trong đĩa.
Có: Trên SSD, việc bạn định vị vùng trao đổi thực sự không còn quan trọng nữa khi chúng sử dụng đường hầm lượng tử thay vì đầu di chuyển và SSD hiện đại sử dụng tất cả các ô nhớ của chúng (ngay cả không gian chưa phân bổ) để ngăn chặn sự suy giảm lượng tử.

Cách kiểm tra xem việc sử dụng trao đổi của bạn có khác với quy tắc "chung" hay không:

Chỉ cần thực hiện:

for szFile in /proc/*/status ; do 
  awk '/VmSwap|Name/{printf $2 "\t" $3}END{ print "" }' $szFile 
done | sort --key 2 --numeric --reverse | more

sẽ cung cấp cho bạn một danh sách tất cả các chương trình đang được hoán đổi (với chương trình sử dụng không gian hoán đổi nhiều nhất ở trên cùng)

Nếu bạn đang sử dụng nhiều hơn thì một vài KB: thay đổi kích thước thành nhiều hơn mức tối thiểu, nếu không, đừng bận tâm ...

Nếu bạn đang ở trên máy chủ, hãy ngừng đọc ngay bây giờ: bạn đã sẵn sàng!


Nếu bạn đang sử dụng máy khách để bàn / máy tính xách tay (không phải máy chủ), bạn muốn GUI của mình phản hồi nhanh nhất có thể và chỉ trao đổi khi bạn thực sự cần . Ubuntu đã được tối ưu hóa để trao đổi sớm khi sử dụng máy chủ, nhưng trên máy khách của bạn, bạn muốn chỉnh sửa bức ảnh thô 250 Mega pixel khổng lồ đó gimpđể nhanh chóng , vì vậy, đặt swappinessthành 10 sẽ giữ cho hạt nhân không bị tráo đổi quá sớm, trong khi đảm bảo nó không ' trao đổi quá muộn:

Nếu bạn có một sysctl.conftập tin,

sudo nano /etc/sysctl.conf

HOẶC LÀ

Nếu bạn có một sysctl.dthư mục nhưng không có sysctl.conftệp, hãy tạo một tệp mới:

sudo nano /etc/sysctl.d/35_swap.conf 

và trong cả hai trường hợp thêm:

# change "swappiness" from default 60 to 10 
# (theoretically only swap when RAM usage reaches around 80 or 90 percent)
vm.swappiness = 10

đến cuối tệp, lưu tệp ( Ctrl+ XY+ Entertrong nano) và thực hiện a:

sysctl --system

để tải lại tham số hoặc thực hiện cách tiếp cận Window $ và khởi động lại ... :-)


1
Cảm ơn. Bạn có ý nghĩa gì bởi "lợi nhuận giảm dần"? Nếu cả RAM và trao đổi đều được sử dụng đầy đủ, thì không thể ngủ đông ngay cả khi trao đổi có kích thước RAM 2 *, phải không? (Vì chế độ ngủ đông sẽ cần kích thước của hoán đổi là RAM + hoán đổi, điều này là không thể?)
Tim

Có, nhưng tôi chưa bao giờ có chuyện này xảy ra ... (và tôi đã già! Do đó, RAM 2 *: Khi tất cả RAM bị tráo đổi, bạn vẫn có thể ngủ đông ...
Fabby

2
"Giảm dần lợi nhuận" chỉ có nghĩa là truy cập ổ cứng chậm hơn 1000 lần so với RAM, vì vậy nếu bạn cần trao đổi gấp đôi RAM, bạn sẽ chết vì tuổi già trước khi nó hoàn thành ... đã hoán đổi ...
Fabby 9/03/2015

1
@Fabby Đó là thời gian xem lại CV cho câu hỏi ban đầu một lần nữa: askubfox.com/review/close/889454 . Xem bình luận của Yufenyuy Veyeh Dider dưới câu hỏi.
karel

1
@mrkskwsnck: Đó là của cùng một tác giả ... ;-)
Fabby 9/12/19

6

Sự cần thiết phải trao đổi

Hoán đổi rất hữu ích vì 3 lý do:

  1. Loại bỏ sự lộn xộn từ RAM. Từ bài viết trên kernel.org:

    "Một số lượng đáng kể các trang được tham chiếu bởi một quá trình đầu đời chỉ có thể được sử dụng để khởi tạo và sau đó không bao giờ được sử dụng lại. Tốt hơn là trao đổi các trang đó và tạo nhiều bộ đệm hơn là để chúng tồn tại và không sử dụng"

    Nói cách khác, dữ liệu được lưu trữ trong RAM chỉ có thể hữu ích khi một quá trình đã được bắt đầu (như quá trình khởi động), và sau đó chỉ đơn giản là nằm trong RAM, không gian lộn xộn có thể được sử dụng cho mục đích tốt hơn.

  2. Nó mở rộng số lượng bộ nhớ mà các quá trình có thể sử dụng. Điều này được hiểu rõ. Bạn không muốn hệ thống hết bộ nhớ và gặp sự cố do thiếu nó. Vì lý do cụ thể này, trao đổi phải tồn tại, phục vụ như một tính năng bảo vệ.

  3. Ngủ đông: Khi máy tính ngủ đông, nội dung của RAM sẽ chuyển sang đĩa.

Số tiền hoán đổi

Biết mục đích trao đổi và tùy thuộc vào dung lượng RAM của máy, bạn có thể chọn kích thước trao đổi phù hợp với mục đích của mình. Không có hướng dẫn cụ thể, chỉ có quy tắc ngón tay cái mà bạn có thể sử dụng để điều chỉnh kích thước hoán đổi của mình để phù hợp với hệ thống của bạn .

Chẳng hạn, linux.com khuyến nghị:

Nguyên tắc cơ bản như sau: 1) cho hệ thống máy tính để bàn, sử dụng không gian hoán đổi bộ nhớ hệ thống kép, vì nó sẽ cho phép bạn chạy một số lượng lớn ứng dụng (nhiều ứng dụng có thể sẽ không hoạt động và dễ dàng tráo đổi) Nhiều RAM hơn cho các ứng dụng đang hoạt động; 2) đối với máy chủ, có sẵn một lượng trao đổi nhỏ hơn (ví dụ một nửa bộ nhớ vật lý) để bạn có thể linh hoạt thay đổi khi cần, nhưng theo dõi lượng không gian hoán đổi được sử dụng và nâng cấp RAM nếu cần thiết; 3) đối với các máy tính để bàn cũ hơn (chỉ có 128 MB), hãy sử dụng nhiều dung lượng trao đổi nhất có thể, thậm chí lên tới 1GB.

Từ kinh nghiệm cá nhân, đây là những gì tôi sẽ làm:

Xem xét một máy có 1 - 2 GB không cần ngủ đông và để sử dụng thông thường, bạn có thể có dung lượng trao đổi 1GB đến 2GB. PC của tôi với 14.04 Ubuntu có 1GB RAM và 2GB trao đổi. Số tiền trao đổi không bao giờ vượt qua biên giới 800 MB và tôi chỉ sử dụng PC để lướt web và viết kịch bản.

Với một PC có trên 2GB và bạn không cần ngủ đông, bạn có thể tiếp tục trao đổi từ 512MB sang 1GB. Tôi có một máy tính xách tay với 15.04 mà tôi không ngủ đông bao giờ và có tệp hoán đổi ( không phải phân vùng ) 512 MB. Bản thân RAM là 6 GB nhưng không vượt qua 2-3 GB. Một lần nữa: sử dụng thông thường.

Cosmoscalibur và Fabby đã giải quyết trao đổi trong trường hợp bạn cần ngủ đông, vì vậy tôi sẽ không đi sâu vào vấn đề đó. Ý kiến ​​khiêm tốn của tôi là thế này:

Nếu bạn có kế hoạch ngủ đông, nội dung RAM sẽ cần được hoán đổi, do đó bạn cần nó ít nhất có cùng kích thước với RAM của bạn.


:-) Chỉ nhận thấy bây giờ bạn đã đăng một cái gì đó. Đã chỉnh sửa và nâng cấp! (Như ist bây giờ là một câu trả lời tốt sau khi chỉnh sửa của tôi: D: D: D)
Fabby
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.