Trao đổi Linux - Điều chỉnh cài đặt Kernel VM


9

Trước khi bạn đọc điều này, xin lưu ý rằng tôi hiểu những lợi ích của bộ nhớ đệm. Tôi quen thuộc với giáo điều rằng ram không sử dụng là lãng phí ram.

Câu hỏi này là câu hỏi mà tôi đã điều chỉnh từ câu hỏi trước:

xóa ram bộ nhớ cache linux

Trong câu hỏi đó, tôi đã tò mò về việc điều chỉnh cách máy chủ của tôi sử dụng và lưu trữ ram. Hệ thống này khá năng động nên tôi tin rằng các tệp được lưu trong bộ nhớ cache thực sự không đủ khả năng giúp tôi đạt được nhiều. Ngoài ra, chúng tôi có mã trên máy chủ phải nhanh chóng truy cập số lượng lớn ram trong thời gian ngắn để xử lý tệp video và tôi tin rằng tôi sẽ thấy lợi ích hiệu suất từ ​​việc trực tiếp xử lý ram thay vì xóa nó khỏi bộ đệm và sau đó đưa nó ra

Tôi muốn tìm hiểu xem có ai trong số các bạn có kinh nghiệm điều chỉnh giá trị mặc định là 60 trong tệp sau không (điều này xảy ra trên máy chủ Ubuntu):

/proc/sys/vm/swappiness  

Và nếu vậy, những gì ảnh hưởng bạn đã thấy. Nếu tôi thay thế giá trị mặc định là 60 bằng 30, tôi sẽ thấy ít hoán đổi hơn và sử dụng lại bộ đệm cũ nhiều hơn? Tôi có tiếp cận 0 hoặc 100 để giảm tính hoán đổi và tăng tái sử dụng bộ đệm không?

Cuối cùng, có ai biết tại sao mặc định được đặt thành 60 không?

LƯU Ý: Nếu gần bằng 0, Linux sẽ thích giữ các ứng dụng trong RAM và không phát triển bộ đệm. Nếu gần 100, Linux sẽ thích trao đổi các ứng dụng và mở rộng bộ nhớ cache càng nhiều càng tốt. Mặc định là 60 khỏe mạnh - Cảm ơn liên kết bên dưới, 3dInfluence.

Câu trả lời:


6

Chỉnh sửa: Viết lại câu trả lời sao cho ngắn gọn và rõ ràng hơn tôi hy vọng :)

Bạn thực sự cần phải hiểu toàn bộ hệ thống con VM hoạt động như thế nào để bắt đầu điều chỉnh các bộ chỉnh âm hoặc bạn có thể thấy rằng bạn không nhận được kết quả mà bạn mong đợi. Bài viết này là một điểm khởi đầu khá tốt về cách các cài đặt này hoạt động cùng với một máy tính để bàn.

Vì vậy, nhiều hơn cho câu hỏi của bạn. Swappiness kiểm soát khi hệ thống con VM lấy lại các trang của bảng xử lý bằng cách hủy ánh xạ và phân trang chúng ra, hay còn gọi là hoán đổi. Điều chỉnh này hoạt động bằng cách yêu cầu hệ thống con VM tìm kiếm các trang để hoán đổi khi% bộ nhớ được ánh xạ để xử lý các bảng trang + giá trị swappiness> 100. Vì vậy, cài đặt 60 sẽ khiến hệ thống bắt đầu phân trang các trang cũ từ trang xử lý bảng khi nó đang sử dụng hơn 40% bộ nhớ hệ thống của bạn. Nếu bạn muốn cho phép các chương trình của bạn sử dụng nhiều bộ nhớ hơn với chi phí bộ nhớ cache, bạn sẽ muốn hạ thấp giá trị trao đổi. Bạn cũng sẽ muốn xem / Proc / sys / vm / min_free_kbytes và / Proc / sys / vm / vfs_cache_pressure. Vì điều này cũng sẽ kiểm soát lượng bộ nhớ dự trữ và mức độ tích cực của bộ nhớ đệm.


@ 3dinfluence - Tôi đã làm việc thông qua bài viết mà bạn đã tham khảo ở trên. Tuyệt vời!
Patrick R

1
linuxinsight.com/proc_sys_vm_hierarchy.html sẽ cung cấp cho bạn một hoặc hai câu về những gì mỗi điều chỉnh được. Nhưng tôi đã nhận được thông tin đó về cách thức hoạt động của swappiness từ một cuốn sách có tên "Điều chỉnh hiệu năng cho máy chủ Linux"
3dinfluence

+1 cảm ơn 3dinfluence. Cho đến nay cuốn sách đã được giáo dục vô cùng.
Patrick R

Thật tuyệt .... bạn đã có thể cải thiện hiệu suất của ứng dụng của mình chưa?
3dinfluence

Tôi đã có thể cải thiện hiệu suất. Ngoài ra, tôi phát hiện ra rằng lệnh sau giúp ích trong quá trình tweeking: # sysctl -w vm.swappiness = 40
Patrick R
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.