Khi tôi sử dụng các cài đặt mặc định:
vm.overcommit_memory = 0
vm.overcommit_ratio = 50
Tôi có thể đọc các giá trị này từ /proc/meminfo
tệp:
CommitLimit: 2609604 kB
Committed_AS: 1579976 kB
Nhưng khi tôi thay đổi vm.overcommit_memory
từ 0
sang 2
, tôi không thể khởi động cùng một bộ ứng dụng mà tôi có thể bắt đầu trước khi thay đổi, đặc biệt là amarok. Tôi đã phải thay đổi vm.overcommit_ratio
để 300
, vì vậy giới hạn có thể được tăng lên. Bây giờ khi tôi bắt đầu amarok, /proc/meminfo
hiển thị như sau:
CommitLimit: 5171884 kB
Committed_AS: 3929668 kB
Máy này chỉ có 1GiB RAM, nhưng amarok hoạt động mà không gặp vấn đề gì khi vm.overcommit_memory
được đặt thành 0. Nhưng trong trường hợp cài đặt thành 2
, amarok cần phân bổ hơn 2GiB bộ nhớ. Đó có phải là một hành vi bình thường? Nếu vậy, có ai có thể giải thích tại sao, ví dụ, firefox (tiêu thụ bộ nhớ nhiều hơn 4 - 6 lần so với amarok) hoạt động theo cùng một cách trước và sau khi thay đổi không?
Committed_AS
là như nhau trong cả hai trường hợp?