Tại sao swappiness = 10 được đề nghị?


9

Giá trị swappiness=10được khuyến nghị trong SwapFaq của Ubuntu .

Tại sao giá trị 10 được khuyến nghị thay vì swappiness=0?

Có bất kỳ ưu điểm của 10 hoặc khuyết điểm của số không?



3
@Mitch Câu hỏi đó là về lý do tại sao mọi người khuyên bạn nên giảm bớt swappiness. Câu hỏi này là khác nhau; đó là hỏi tại sao swappiness nên ở trên không . Vì vậy, đây không phải là lý do tại sao mọi người đề nghị cho nó là quá thấp ; nó hỏi tại sao đề xuất cao như nó là. Bởi vì câu trả lời ở đó (khá hợp lý) không đồng ý với lập luận để giảm sự lộn xộn cho đến nay, có một số sự trùng lặp với câu trả lời của tôi ở đây, nhưng cuối cùng tôi nghĩ đây là những câu hỏi riêng biệt (mặc dù có liên quan) với câu trả lời riêng biệt.
Eliah Kagan

@EliahKagan touché :)
Mitch

Câu trả lời:


9

swappiness=0sẽ chờ để trao đổi cho đến khi nó thực sự cần thiết. Đặt giá trị vừa phải như thế swappiness=10sẽ khiến các trang bị hoán đổi từ bộ nhớ sang đĩa dễ dàng hơn. Điều này có thể ngăn chặn sự cần thiết phải trao đổi nhiều cùng một lúc; nhu cầu như vậy có thể giới thiệu sự chậm trễ gây phiền nhiễu.

Ngoài ra, thường là một quá trình chạy nhưng không làm gì trong một thời gian dài. Nhiều daemon (dịch vụ nền) hành xử theo cách này. Bạn có thể có một ứng dụng nền không được sử dụng trong một thời gian. Và ngày nay, một số ứng dụng được triển khai dưới dạng nhiều quy trình, như Chromium và Google Chrome, trong đó mỗi tab có một quy trình riêng biệt đằng sau nó (không phải là một luồng riêng biệt, mà là một quy trình riêng ). Việc đặt swappinessthành giá trị như 10 sẽ khiến cho các tác vụ nền không được sử dụng tích cực này được hoán đổi sang bộ nhớ ngay cả khi chúng có thể vẫn bị nhồi nhét trong RAM. Sau đó, khi một quá trình được sử dụng tích cực hơn cần phân bổ thêm RAM, nó có thể thực hiện nhanh hơn.

Tóm lại, việc cho phép các quy trình được hoán đổi từ RAM sang đĩa sớm hơn mức cần thiết thường mang lại lợi ích hiệu năng và độ trễ thấp hơn khi một quy trình phân bổ bộ nhớ. Đây là chi phí của thời gian cần thiết để trao đổi các quy trình trở lại. Nhưng điều này thường được thực hiện ít thường xuyên hơn nhiều so với một quá trình sử dụng tích cực phân bổ và giải phóng bộ nhớ, vì vậy sự đánh đổi thường đáng giá.


Bạn cũng nên tính đến bộ đệm của ổ đĩa của bạn. Nếu bạn có ổ SSD với bộ đệm 512 MB và RAM 4 GB. bạn có thể để nó ở mức 10 mà không phải lo lắng về bất kỳ vấn đề nào về hiệu năng vì bất kỳ chương trình nào cũng có thể phân bổ gần như ngay lập tức khoảng 1 GB RAM. Tôi có một ổ SSD với bộ đệm 256 MB và 8 GB RAM, vì vậy tôi cũng để nó ở mức 10 vì nó cũng đảm bảo phân bổ nhanh khoảng 1 GB mà tôi hiếm khi cần.
stackount 16/12/13
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.