Kinh nghiệ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 'Thị trường & Tư vấn PC / Laptop' bắt đầu bởi vinahost_mkt, 25 Tháng một 2018.

  1. vinahost_mkt Thành Viên Mới

    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:

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

    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

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

    • Dùng lệnh slabtop
    Tại sao RAM thực tế lại khác với RAM được cấp phát - 219608

    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:

    Tại sao RAM thực tế lại khác với RAM được cấp phát - 219609
    Chủ đề tương tự

Chia sẻ trang này