Tôi muốn buộc hạt nhân Linux phân bổ bộ nhớ nhiều hơn cho các ứng dụng sau khi bộ nhớ cache bắt đầu chiếm quá nhiều bộ nhớ (như có thể thấy bởi đầu ra 'miễn phí').Làm thế nào để dọn dẹp bộ nhớ cache được sử dụng bởi hạt nhân Linux
tôi đã chạy
sudo sync; sudo sysctl -w vm.drop_caches=3; free
(để giải phóng cả hai đĩa dentry/inode bộ nhớ cache và bộ nhớ cache page) và tôi thấy rằng chỉ có khoảng một nửa số bộ nhớ cache dùng được trả tự do - phần còn lại vẫn còn. Làm thế nào tôi có thể nói những gì đang chiếm phần còn lại của bộ nhớ cache và buộc nó phải được giải phóng?
Bộ nhớ nằm gọn chỉ là bộ nhớ cache bị xóa ngay lập tức khi cần bộ nhớ mới. Nó không phải là có lợi để buộc loại bỏ các vùng bộ nhớ cache. Ứng dụng sẽ luôn là công dân đầu tiên cho bộ nhớ và không phải chiến đấu với bộ nhớ cache cho nó. – ypnos
Tôi gặp sự cố với máy chủ của mình và tôi tin rằng có điều gì đó đang lạm dụng bộ nhớ cache đến mức các ứng dụng được chuyển xuống các trang được hoán đổi và bị đập do thiếu bộ nhớ. Nó có thể là một vấn đề hạt nhân nó có thể không được. Việc dọn dẹp bộ nhớ đệm có thể là một cách tốt để kiểm tra. – Guss
'sysctrl' của bạn phải là 'sysctl' – raittes