Tôi có một hộp linux RAM 8GB trên đó có 4 máy chủ tomcat đang chạy. Một trong số chúng được đặt thành bộ nhớ 3000MB (cài đặt jvm -Xms và -Xmx) và các bộ nhớ khác được đặt thành 1500 MB. Phân vùng trao đổi cũng được đặt thành 8Gigs. Khi tôi khởi động các máy chủ này, việc sử dụng tệp trao đổi thấp. Nhưng trong một khoảng thời gian ngày và trong một số thời điểm nhất định khi một / tất cả các máy chủ đang hoạt động cao điểm, việc sử dụng trao đổi bắt đầu tăng lên. Đây là một đầu ra sar -r điển hình.
kbmemfree kbmemuse% đã sử dụng kbbuffers kbcached kbswpfree kbswpuse % swpuse kbswpcad
48260 8125832 99,41 196440 2761852 7197688 1190912 14.20 316044
75504 8098588 99,08 198032 2399460 7197688 1190912 14.20 316032
Nó cho thấy 14,2% trao đổi được sử dụng hiện tại. Điều buồn cười là% KHÔNG BAO GIỜ này giảm . Nó tiếp tục tăng và đạt tới 30-40% . Chúng tôi khởi động lại máy chủ của chúng tôi hàng tuần.
Tôi sẽ giả sử % swpuse tăng trong thời gian hoạt động cao điểm và giảm trong thời gian hoạt động thấp..Hoặc ít nhất là không đổi. Điều này có vẻ như không gian hoán đổi không bao giờ được hệ điều hành thu hồi ..
Đầu ra miễn phí: miễn phí -m tổng số bộ đệm chia sẻ miễn phí được sử dụng được lưu trong bộ nhớ cache Mem: 7982 7937 45 0 32 2088 - / + bộ đệm / bộ đệm: 5816 2166 Hoán đổi: 8191 1163 7028
Vì vậy, có ít nhất 2g Ram miễn phí. Vì vậy, câu hỏi là tại sao không gian hoán đổi tiếp tục tăng và không được HĐH thu hồi? Hoặc làm thế nào để gỡ lỗi này để tìm ra những gì đang xảy ra ..