Có rất nhiều bạn phàn nàn vấn đề rằng 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(kỹ thuật Disk Caching của Linux)

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 -h và nhìn vào dòng-/+ buffers/cache để xem hệ thống đang thực sự free bao nhiêu memory.

Đối với CentOS 6


Hệ thống có tổng cộng 996MB RAM, mới dùng 193MB (19.37%) và còn trống 802MB. Swap 2GB chưa được dùng đến.

Đối với CentOS 7


Hệ thống có tổng cộng 488MB RAM, sử dụng thực tế chỉ 125MB. Còn trống 6MB và 357MB (sử dụng làm buff/cache). Swap 1GB chưa được dùng đến. Điều bạn cần quan tâm là lượng RAM trống thực tếmà các ứng dụng có thể sử dụng (available) – 286MB

Như vậy, tín hiệu để bạn lo lắng là khi:

  • Available memory hoặc free của -/+ buffers/cache tiến đến 0
  • Mức sử dụng swap gia tăng

Hy vọng, qua bài viết này, các bạn có cái nhìn đúng đắn về tình trạng tải của server cũng như có các quyết định kịp thời trong việc nâng cấp server(nếu cần thiết).

36 Comments

    1. Luân Trần Admin

      Ừ, tại nhiều người có cùng câu hỏi thế này quá nên mình quyết làm 1 bài 😀

      1. Luân Trần Admin

        Site của bác đang nổi tiếng phết, đầu tư thêm cái domain với lại giao diện cho chuyện nghiệp nữa thì quá ngon 😀

        1. Tuấn Anh 3 comment

          Ặc, bác quá lời, site nhỏ cỏn con đang tập bơi mà, hi..ý bác là em nên mua domain khác ạ ?
          Còn giao diện em cũng muốn bay qua Mythemeshop lắm mà đang còn duyên nợ với Genesis, em thích framework này vì dễ tùy biến 😀

          1. Luân Trần Admin

            Ừ mua domain khác rồi redirect qua hết cho chuyên nghiệp, domain .info dùng hơi lởm. Theme cứ từ từ cũng được.

          2. Tuấn Anh 3 comment

            Thú thật em cũng chẳng muốn xài info nhưng .com đã bị hốt sạch, còn Brand Name khác em cũng ko nghĩ ra cái nào chất nên em cứ tập trung content thẳng tiến…thank Bác góp ý…

      1. Nam Thanh 34 comment

        Em thấy bên nước ngoài ng ta hay làm site coupon giảm giá gì ấy. Nhưng ko biết doanh thu lấy từ đâu nhỉ?

    1. Luân Trần Admin

      Vẫn dùng lệnh free -m nhé bạn, thông số swap sẽ hiện dưới cùng.

  1. haiquan 1 comment

    Em đang dùng con vps của pa ram 2g 3 prosesso mà không hiểu sao chạy lượng online tầm 40 50 người mà đã full ram, bác nào chỉ em làm sao cho nó hết full ram với, nâng cấp lên không biết có bị tình trang tương tự không? thanks các bác trước

    1. Luân Trần Admin

      RAM ở Linux thì lúc nào cũng gần full, do cơ chế cache của nó.
      Bạn dùng lệnh trong bài này xem output thế nào, mình coi có đáng lo ko?

    1. Luân Trần Admin

      Bắt đầu sử dụng đến swap chứng tỏ có dấu hiệu thiếu RAM rồi đó

  2. NamCT 1 comment

    total used free shared buffers cached
    Mem: 7.8G 7.2G 638M 124M 261M 5.7G
    -/+ buffers/cache: 1.2G 6.6G
    Swap: 1.0G 7.2M 1.0G

    Bác cho em hỏi thông số của em là bị full ram. vậy có nên xóa cache đi không? Nhưng sợ khi xóa cache ứng dụng sử lý sẽ chậm hơn, vì hiện tại nó sử lý cũn chậm rồi. db lên tới hơn ghz rồi.?

    1. Luân Trần Admin

      Swap chưa sử dụng nhiều, chức tỏ chưa bị thiếu RAM trầm trọng rồi. Cứ để đó dùng thôi bạn.

  3. Z Mụp Nguyễn 44 comment

    Nếu tổng là 1.8GB, chỉ sử dụng có 400MB, còn trống 1.4GB nhưng swap cũng sử dụng vài chục MB thì tình trạng này là như thế nào vậy ad ?

    1. Việt Phương Moderator

      Do bạn thiết lập Swappiness rồi. Swappiness là mức độ ưu tiên sử dụng swap, khi lượng RAM còn lại bằng giá trị của swappiness (tính theo tỷ lệ phần trăm) thì swap sẽ được sử dụng. Của bạn có thể dao động mức 70%
      Cụ thể tại : https://hocvps.com/swap/

    1. Luân Trần Admin

      RAM của bạn hiện đang ở mức 63% mà thôi. Có giai đoạn nào đó online quá đông, hết RAM và chuyển sang SWAP.

Comment của bạn

Your email address will not be published. Required fields are marked *