Bạn sẽ ổn ngay cả với 1GiB (và có thể ít hơn) trao đổi. Máy tính làm việc của tôi thường sử dụng không quá 140-150 MiB. Một gigabyte là rất nhiều cung cấp quá mức cho điều đó.
Trừ khi bạn thực hiện các tác vụ yêu cầu bộ dữ liệu trong hàng trăm gigabyte và (dữ liệu này rất quan trọng!) Được truy cập theo kiểu truy cập nhiều hơn hoặc ít hơn một lần, bạn sẽ không bao giờ muốn có một trao đổi lớn hơn thế. Nhưng một lần nữa, chỉ cần ánh xạ bộ nhớ một tệp dữ liệu hoạt động tốt như nhau cho ứng dụng đó.
Nhưng trao đổi nhiều hơn giúp nhiều hơn, phải không? Nhiều hơn bất cứ điều gì luôn luôn tốt hơn!
Xem xét sự khác biệt của một hoán đổi, giả sử, 16GiB sẽ tạo ra (hoặc nghĩ về 64GiB). Nếu bạn không bao giờ sử dụng 16GiB này, bạn cũng có thể không đặt chúng sang một bên ngay từ đầu. Nhưng nếu bạn sử dụng chúng, điều gì xảy ra? Đĩa, so với bộ nhớ chính, cực kỳ chậm. Ngay cả với SSD SATA-600, việc chuyển 16GiB mất từ 30 đến 40 giây và dài gấp 2-4 lần đối với một số cấu hình khác.
Bây giờ chắc chắn ai đó sẽ phản đối rằng bạn đang phân trang vào và ra hàng tá trang 4kiB, chứ không phải 16GiB trong một lần. Trong khi đó là sự thật, tuy nhiên quan điểm vẫn đứng. Nếu bạn chỉ cần trao đổi trong và ngoài một vài trang, bạn không cần trao đổi 16GiB, nhưng nếu bạn cần 16GiB trao đổi, thì bạn cũng sẽ chuyển chúng (bằng cách này hay cách khác).
Về lý thuyết, 99,9% tất cả người dùng thậm chí có thể sử dụng máy 64GiB (hoặc bất kỳ máy 8+ GiB nào) mà không có bất kỳ trao đổi nào, và rất có thể không bao giờ nhận thấy thiếu thứ gì. Tuy nhiên, điều này là không nên.
Đầu tiên, nó là tối ưu phụ vì hệ điều hành có ít lựa chọn hơn trong những gì nó có thể loại bỏ khi hết bộ nhớ vật lý. Có hai điều có thể làm: Hoán đổi thứ gì đó không được sử dụng hoặc vứt bỏ các trang khỏi bộ đệm bộ đệm. Nếu bạn không có trao đổi, chỉ có một điều nó có thể làm. Vứt bỏ các trang từ bộ đệm bộ đệm là vô hại, nhưng nó có thể ảnh hưởng đáng kể đến hiệu suất.
Thứ hai, ánh xạ ẩn danh riêng có thể đơn giản thất bại nếu không có trao đổi. Điều đó thường không xảy ra, nhưng cuối cùng khi không có đủ bộ nhớ vật lý để đáp ứng tất cả và không có sự hoán đổi, hệ điều hành chỉ có lựa chọn này, ngoại trừ ...
Thứ ba, kẻ giết người OOM đáng sợ có thể đá vào Điều đó có nghĩa là một quá trình ngẫu nhiên ít nhiều sẽ bị giết. Không cám ơn. Đây không phải là điều bạn muốn có xảy ra.
Như đã nói, lời khuyên như bạn cần trao đổi gấp X lần lượng RAM được cài đặt đến từ những người lặp lại điều họ đã nghe (và không hiểu!) Từ người đã lặp lại điều họ đã nghe (và không hiểu!) Trong nhiều thập kỷ trước đây
Quy tắc "sử dụng 2 lần RAM của bạn" là một quy tắc dễ nhớ trong những năm 1980 và 1990, nó không bao giờ là "sự thật vàng" (chỉ là thứ hoạt động tốt với hầu hết người dùng) và hiện tại nó không áp dụng .
Bạn nên có một lượng trao đổi hợp lý mà bạn có thể dễ dàng chi trả (giả sử là một gigabyte), vì vậy HĐH có thể tạo ra một số thứ cũ, và vì thế thế giới sẽ không kết thúc ngay lập tức khi bạn yêu cầu thêm một chút bộ nhớ. Nhưng kia là nó.
mmap
để phân bổ các trang thiết lập công việc của bạn. Sau đó, số lượng trao đổi của bạn sẽ chính xác là số tiền bạn cần cho quá trình của bạn.