Chào mừng bạn đến với Diễn Đàn Máy Chủ - Chia sẽ kiến thức máy chủ.
  • Đăng ký
    • Login:
    Server Dell email 247 Tên miền Hosting giá sốc Tang loa Frei Tang loa Frei Tên miền tiếng việt giá bèo cdn rẻ vô địch May Chu Khong Lo - Gia Xi Trum SSL 2 nam giam 15%
    + Trả lời bài viết
    Hiện kết quả từ 1 tới 5 của 5
    1. #1
      Advisors
      Tham gia ngày
      Aug 2009
      Đến từ
      Nha Trang
      Bài gửi
      1.287

      Mặc định Viec su dung RAM tren Linux noi chung

      Dành cho các câu hỏi : vì sao RAM chúng tôi lúc nào cũng full , và gắn mới thêm RAM cũng 1 thời gian là RAM full ???

      Dùng full RAM của Linux trên server, nhưng server vẫn chạy rất nhanh và rất ít toả nhiệt (có tải lẫn không tải). và có lẽ đây là điều làm hệ điều hành Linux của chúng ta chạy nhanh hơn so với Windows App ở một số ứng dụng tải cao.

      Như sau: nếu dùng lệnh top hoặc lệnh free -m của Linux, ta dễ dành nhầm lẫn lượng memory system đang dùng cho running process. Thật ra, total physical memory (không tính swap on disk) được Linux tính bằng active mem + inactive mem.
      Đặc biệt về inact mem, 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ớ inact này 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, hiện tượng là ở chế độ không tải, memory chiếm rất nhiều.
      Thực tiễn:
      Vậy, câu hỏi là nếu inact mem + act mem chiếm gần hết memory, khi ta mở thêm process thì system có crash ? Linux có giải phóng inact mem không cần thiết cho process mới ?
      =>> không ! vẫn chạy rất nhanh.
      Lab:
      Thực nghiệm trên máy 2gb ram, máy sẽ tốn rất nhiều inact mem khi bạn sử dụng nhiều chuơng trình rồi tắt đi. bình thường tổng ram lúc nào cũng khoảng 800-1GB RAM . bạn dùng lệnh
      vmstat -S m -s
      sẽ thấy inact mem chiếm khoảng 700m. Lúc này laptop vẫn rất nhanh.
      Tôi bật vmware với tổng ram của các guest OS là 1600 M, dùng lệnh watch -n 0.5 vmstat -S m -s sẽ thấy inact mem sẽ không thay đổi cho đến khi tổng mem lên đến 2000 m, sau đó act mem sẽ liên tục tăng và inact mem sẽ liên tục giảm, đổng thời swap disk sẽ được đem ra khoảng 100 m sử dụng.
      Kết luận: kernel linux dùng inact mem để cache, vì vậy nếu sự dụng lại tiến trình cũ thì system sẽ load rất nhanh, nếu lượng mem cho process cần chạy quá lớn, system tự động đem inact mem vào swap và dành toàn bộ memory cho act mem.
      Sau khi test overload thế này, tôi tắt vmware đi, kiểm tra lại:
      Hiện tại hệ thống dùng: open office, firefox mở 5 tabs, pidgin chat, 2 cửa sổ nautilus, 1 terminal console
      root@ubuntu-laptop:~# vmstat -S m -s
      2124 m total memory
      300 m used memory
      159 m active memory
      93 m inactive memory
      1823 m free memory
      11 m buffer memory
      121 m swap cache
      1003 m total swap
      193 m used swap
      809 m free swap

      Thực chất running process chỉ lấy 159m ram, còn lại những “kí ức” gồm 93m inact mem và hơn 100m swap. Các kí ức "quá cũ" khác đã bị clear mất.
      Vậy, kernel linux sử dụng tối đa memory để tăng tốc cho hệ thống, cache tất cả các event của process cũ trên memory chứ không phải trên swap, để phản ứng nhanh với những tiến trình được gọi lại. Chỉ có những process được cache quá lâu sẽ được đưa vào swap. Điều này giải thích Linux ít hao pin laptop trong môi trường tải nặng hơn là Windows Xp vì sử dụng tối đa memory thay vì đĩa cứng.

      như vậy cách dễ nhận biết là dùng hết ram hay chưa thì nhìn vào swap nếu swap đã dùng thì có nghĩa ram đã dùng cận ,và swap dùng quá nhiều nghĩa là đã dùng hết ram và đang phải chuyển sang dùng ram ảo của HDD

      Nếu bạn muốn check kỹ thuật có thể xóa cache buffer ram bằng lệnh

      sync; echo 3 > /proc/sys/vm/drop_caches


      tuy nhiên việc này sẽ làm các app chạy trên linux chậm đi khi xử lý .
      Lần sửa cuối bởi canvu; 18-10-2013 lúc 11:05 AM
      Chấp Nhận Thua 1 Trận Chiến Nhưng Sẽ Thắng Cả Cuộc Chiến .

    2. #2
      Thành Viên Mới
      Tham gia ngày
      May 2013
      Bài gửi
      3

      Mặc định

      Mod cho mình hỏi với mình có cái mình chay sever ram 6g cho 1 site nhưng ram qua 1 ngày là ngốn ram hơn 3g mỗi lần mình khỏi động lại sever thì mình thấy ram giảm xuống hơn 1g nhưng chạy mãi thì ram lại lên 3.2g
      mình có cài cả mod mem cache
      Mod xem giúp mình phía dưới liệu như vậy có ổn không và có cách nào làm cho ram nó giảm lại thay vì khỏi động lại máy chủ không

    3. #3
      Thành Viên Mới
      Tham gia ngày
      May 2013
      Bài gửi
      3

      Mặc định

      Quote Nguyên văn bởi mrsup Xem bài viết
      Mod cho mình hỏi với mình có cái mình chay sever ram 6g cho 1 site nhưng ram qua 1 ngày là ngốn ram hơn 3g mỗi lần mình khỏi động lại sever thì mình thấy ram giảm xuống hơn 1g nhưng chạy mãi thì ram lại lên 3.2g
      mình có cài cả mod mem cache
      Mod xem giúp mình phía dưới liệu như vậy có ổn không và có cách nào làm cho ram nó giảm lại thay vì khỏi động lại máy chủ không
      Đính kèm lại ảnh

    4. #4
      Advisors
      Tham gia ngày
      Aug 2009
      Đến từ
      xa lắm
      Bài gửi
      209

      Mặc định

      Để giảm RAM sử dụng (xóa cache RAM) bác Vô Danh có đưa ra lệnh

      sync; echo 3 > /proc/sys/vm/drop_caches

      khuyến cáo: tuy nhiên việc này sẽ làm các app chạy trên linux chậm đi khi xử lý .

    5. #5
      Thành Viên Mới
      Tham gia ngày
      Sep 2013
      Bài gửi
      5

      Mặc định Mình thì thường dùng các lệnh này, nhưng chưa được 1 phút thì đâu lại vào đấy.

      Mình thì thường dùng các lệnh này, nhưng chưa được 1 phút thì đâu lại vào đấy.

      To free pagecache:

      echo 1 > /proc/sys/vm/drop_caches

      To free dentries and inodes:

      echo 2 > /proc/sys/vm/drop_caches

      To free pagecache, dentries and inodes:

      echo 3 > /proc/sys/vm/drop_caches

     

     
    + Trả lời bài viết

    Thread Information

    Users Browsing this Thread

    There are currently 1 users browsing this thread. (0 members and 1 guests)

    Tags for this Thread

    Quyền viết bài

    • Bạn không thể gửi chủ đề mới
    • Bạn không thể gửi trả lời
    • Bạn không thể gửi file đính kèm
    • Bạn không thể sửa bài viết của mình