Chia sẻ 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ủ thuật tin học' bắt đầu bởi vinahost_mkt, 25/1/18.

  1. vinahost_mkt PageRank 0 Member

    Tham gia ngày:
    20/1/18
    Nơi ở:
    C/c Cửu Long, 351/31 Nơ Trang Long
    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]
     
    #1

Chia sẻ trang này