1. Để tham gia Diễn đàn, hãy đăng ký để trở thành thành viên chính thức. Tìm hiểu thêm.

Tại sao RAM thực tế lại khác với RAM được cấp phát

Thảo luận trong 'Hosting - VPS' bắt đầu bởi vinahost_mkt, 7/2/18.

  1. vinahost_mkt

    vinahost_mkt New Member

    Chắc hẳn có không ít Quý khách hàng thắc mắc rằng “Tại sao lượng RAM thực tế mà các server / VPS sử dụng hệ điều hành Linux lại thấp hơn lượng RAM ghi trên thông tin mà nhà cung cấp đưa ra?”

    Ví dụ một VPS sử dụng hệ điều hành CentOS 7, được cấp phát 1GB RAM nhưng khi thực hiện lệnh free -m để kiểm tra lượng RAM thực tế thì chỉ hiển thị khoảng 992MB RAM như hình bên dưới:

    [​IMG]

    Nguyên nhân dẫn tới sự khác biệt này là do khi một máy chủ Linux được khởi động, một phần nhỏ RAM sẽ được kernel sử dụng để chạy các process/thread và các module. Ngoài ra, kernel Linux cũng sử dụng lượng RAM khả dụng để thực hiện cache.

    Làm thế nào để kiểm tra kernel đang sử dụng bao nhiêu RAM?
    Để kiểm tra lượng RAM mà kernel đang sử dụng, Quý khách hàng có thể thực hiện các cách sau:

    • Xem thông tin Slab tại file /proc/meminfo
    Dùng lệnh cat /proc/meminfo

    [​IMG]

    • Dùng lệnh slabtop
    [​IMG]

    Vậy tất cả VPS sử dụng HĐH Linux đều gặp trường hợp này?
    Câu trả lời là không phải tất cả VPS sử dụng HĐH Linux đều hiển thị lượng RAM thấp hơn lượng RAM ghi trên thông tin mà nhà cung cấp đưa ra. Cụ thể là các VPS sử dụng công nghệ ảo hóa dạng container như LXC hay OpenVZ sẽ hiển thị đúng lượng RAM được cung cấp. Nguyên nhân là do các VPS sử dụng các công nghệ ảo hóa này sẽ dùng chung kernel với server vật lý.

    Ví dụ một VPS sử dụng công nghệ ảo hóa OpenVZ, chạy hệ điều hành CentOS 7, được cấp phát 1GB RAM, khi thực hiện lệnh free -m thì cho ra kết quả sau:

    [​IMG]
     

trang này