Chào các bạn, có một số bạn thắc mắc về vấn đề VPS luôn sử dụng full RAM, lượng RAM trống lúc nào cũng rất ít. Tuy nhiên, các bạn đã xem thông tin RAM đúng cách chưa? Hãy tham khảo bài viết bên dưới.
Để xem lượng RAM đã sử dụng chúng ta có rất nhiều lệnh khác nhau như:
free -m
cat /proc/meminfo
top
vmstat -s
Tuy nhiên, thông số MemFree trả về không phải là lượng bộ nhớ hệ thống còn trống.
Bởi vì Total memory ở Linux được tính bằng Active memory + Inactive memory (không tính Swap). Vấn đề ở chỗ Inactive memory, là vùng nhớ khi ta run 1 process và tắt đi, system sẽ cache lại vùng nhớ này để khi gọi lại process này lần nữa, nó sẽ sử dụng vùng nhớ inactive này ngay lập tức thay vì phải cấp phát lại. Nên khi ta mở càng nhiều process, sau đó tắt đi, inactive memory càng chiếm nhiều.
Khi mở lên 1 process mới, nếu hệ thống thiếu RAM thì Linux sẽ tự động chuyển vùng bộ nhớ Inactive vào Swap và dành toàn bộ memory cho active process. Như vậy, hệ thống không bị quá tải.
Kết luận, dấu hiệu để nhận biết hệ thống có đang thiếu RAM hay không đó là bạn hãy nhìn vào Swap, nếu Swap sử dụng nhiều chứng tỏ đang bị thiếu RAM, lúc này cần nâng cấp bộ nhớ cho VPS/Server.
Trong trường hợp không có swap, các bạn hãy sử dụng lệnh free -m và nhìn vào dòng thứ 3, -/+ buffers/cache để xem hệ thống đang thực sự free bao nhiêu memory, chứ đừng nhìn vào dòng số 2.
Như ví dụ bên trên, hệ thống có Total 2.070.944B RAM, mới dùng 867.584B và còn sử dụng được 1.203.360B nữa.