Tại sao bộ nhớ cache trong bộ nhớ của tôi luôn đầy?


13

Tôi có RAM 6GB, Bộ xử lý i5 2.4GHZ chạy Ubuntu 11.10. Tôi đã phân vùng HD của mình để có trao đổi 8GB.

Khi phát trực tuyến hoặc mở một số tab trong Chromium, tôi sẽ sớm có Bộ nhớ 4GB trong bộ nhớ cache. Và tôi nghĩ rằng điều này làm cho Notebook của tôi chậm. Khi phát trực tuyến video, sau vài phút, nó thực sự chậm lại và vấp / giật.

Vấn đề có thể là gì? Làm sao tôi có thể giải quyết việc này?

PS: ban đầu tôi có 4GB và gần đây đã nâng cấp lên 6GB, nhưng tôi không trải nghiệm một sự thay đổi đáng kể nào.

PPS: free -gtrong thiết bị đầu cuối in điều này:

               total       used       free     shared    buffers     cached
Mem:             5          2          3          0          0          0
-/+ buffers/cache:          1          4
Swap:            8          0          8

Bạn có ý nghĩa gì với "RAM Cache" và làm thế nào để bạn biết rằng nó đã đầy?
Serge

Bạn có thể vui lòng chạy free -g(trong thiết bị đầu cuối) khi bạn gặp vấn đề và bao gồm đầu ra của lệnh trong câu hỏi của bạn.
Portablejim

Ở bảng trên của tôi, tôi có một applet cho biết mức độ sử dụng RAM và CPU một cách chính xác. Khi tôi nhấp vào nó, nó sẽ cho tôi biết: "Mem: 2GB Cache 4GB"
Tobias

1
free -gcho biết bạn có 3GB RAM miễn phí. Bộ nhớ không phải là vấn đề của bạn!
am

Ok cảm ơn rất nhiều vì đã xóa nó đi, nhưng có lẽ bởi vì trong khoảnh khắc đó tôi không phát trực tuyến? Tôi vừa mới chạy crom.
Tobias

Câu trả lời:


13

Bộ nhớ đệm dữ liệu là RAM được cho là làm cho mọi thứ nhanh hơn, không chậm hơn - việc tìm nạp mọi thứ liên tục từ đĩa khi bạn có bộ nhớ không sử dụng chỉ là ngớ ngẩn. Nếu bạn tràn vào không gian hoán đổi, điều đó sẽ đạt hiệu suất. Bạn có thể dễ dàng biết nếu bạn đang sử dụng bất kỳ trao đổi bằng cách chạy System Monitor. Nếu đồ thị không gian hoán đổi không leo vào thời điểm sự cố bắt đầu, thì vấn đề không liên quan đến bộ nhớ.

Chắc chắn, khi bạn truyền phát video, nó sẽ được lưu trong bộ nhớ, nhưng phải mất khá nhiều video để lấp đầy 6Gb! Tôi hy vọng sẽ mất nhiều hơn chỉ vài phút để tải xuống nhiều dữ liệu đó và hơn thế nữa để gây ra sự cố!

Bạn có chắc chắn một cái gì đó không phải là vấn đề? Nói, làm mát có lẽ? Nhiều máy tính xách tay có bộ xử lý bị bội chi so với hệ thống làm mát. Điều này là tốt - nó mang lại hiệu suất cao nhất, tốt cho lưu lượng truy cập bùng nổ, trong khi vẫn giảm số lượng lớn - nhưng nó không thể duy trì hiệu suất trong thời gian dài trước khi buộc phải quay lại tốc độ xung nhịp hoặc tan chảy. Video có thể được xử lý khá chuyên sâu, vì vậy bạn không bao giờ biết?

Dù sao, bạn sẽ có thể nhìn thấy từ việc sử dụng bộ nhớ cho dù đó là trao đổi hay không. Nếu đó là một vấn đề phần mềm và đó có thể được khắc phục. :)


Tôi đang sử dụng chỉ 1,8% SWAP. Làm mát không phải là vấn đề vì tôi có một tấm làm mát với hai quạt. Tôi biết video là bộ xử lý chuyên sâu nhưng i5 lõi tứ 2,4GH và RAM 6GB chắc chắn là đủ để truyền phát mượt mà.
Tobias

1,8% trao đổi gợi ý cho tôi rằng vấn đề của bạn không phải là bạn đã hết RAM. Tôi đồng ý, miễn là bộ xử lý của bạn chưa được điều chỉnh, nó phải có khả năng thực hiện công việc.
am

Ok hơn có lẽ đó là Trình duyệt?
Tobias

Cảm ơn câu trả lời của bạn, tôi sẽ cố gắng sử dụng một trình duyệt khác và cho bạn biết nếu vấn đề vẫn còn. Cảm ơn một lần nữa, bạn rất hữu ích và tử tế, tôi thực sự đánh giá cao!
Tobias

11

Tôi cũng gặp vấn đề tương tự, có vẻ như bộ nhớ cache không bao giờ được phát hành ... Một ví dụ là khi tôi kiểm tra kho lưu trữ và kết thúc với bộ nhớ cache 4GB

Thí dụ:

$ free -m
             total       used       free     shared    buffers     cached
Mem:          7949       7425        523          0        112       4433
-/+ buffers/cache:       2879       5069
Swap:         7627          2       7625

Những gì tôi đã làm là chạy mã dưới đây (các bình luận chỉ để bạn biết điều gì đang xảy ra), bạn có thể tạo một tập lệnh để bạn có thể chạy nó khi bạn cần:

# 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
sudo sync && sudo sysctl -w vm.drop_caches=3

Sau khi tôi chạy mã ở trên:

$ free -m
             total       used       free     shared    buffers     cached
Mem:          7949       2820       5129          0          2        407
-/+ buffers/cache:       2409       5539
Swap:         7627          2       7625

4
Đây không phải là một vấn đề, đây là cách bộ đệm trang hoạt động. Nó sẽ giữ mọi thứ được lưu trong bộ nhớ cache càng lâu càng tốt, nhưng sẽ tự động giải phóng các mục khi áp suất bộ nhớ từ các ứng dụng khác tăng lên. Xóa nó bằng tay là không cần thiết.
Caesium

5
Nó có thể là như vậy nhưng trong trường hợp đó thuật toán là không tốt. Tại sao tôi lại có hơn 4GB bộ nhớ cache và bắt đầu sử dụng trao đổi?
Carlo

Về chủ đề này, tôi thích bài viết này: link
Carlo

1
Trong trường hợp hiện tại của tôi, tôi đang kiểm tra một kho lưu trữ khổng lồ và tất cả các tệp đang được lưu vào bộ đệm cho đến khi nó lấp đầy bộ nhớ, khi nó bắt đầu trao đổi thay vì giải phóng bộ đệm ...
Carlo

Tôi đã từng quan tâm đến việc phát triển kernel .. Khá chắc chắn rằng đây vẫn là "theo thiết kế." Nếu kernel nghĩ rằng một phần của tệp có khả năng được truy cập lại sớm hơn một số dữ liệu ẩn danh, nó sẽ trao đổi dữ liệu anon và giữ bộ đệm trang. Tất nhiên liệu nó có đưa ra quyết định đúng hay không là một câu hỏi khác nhau :)
Steve Dee

0

Đề xuất của tôi sẽ là chạy bất kỳ trình thám hiểm quy trình nào (ví dụ như System Monitor) và kiểm tra xem quá trình này chiếm bao nhiêu bộ nhớ. đăng nó ở đây và chúng tôi sẽ xem nếu bạn có thể tắt nó.

ps. ok, tôi hiểu rồi Tôi đặt cược 'bộ chứa plugin' của nó phát triển theo thời gian do cách nó sử dụng bộ nhớ. Tôi đoán nó là bởi vì nó là một cổng từ hệ thống Gill Bates;). Giết nó sẽ không giúp ích gì (bằng cách giết nó, bạn sẽ đánh sập tất cả các hình động trên mỗi trang, chủ yếu là quảng cáo mà cả video Youtube). Ngoài ra, bản thân Chromium rất thích phình to theo thời gian, vì vậy cách duy nhất để đối phó với nó có lẽ là thỉnh thoảng khởi động lại nó. Xem nếu nó giúp ...


Thật vậy, khi tôi khởi động lại trình duyệt, việc truyền phát lại chạy trơn tru, tuy nhiên chỉ trong 10 phút. Sau đó tôi phải khởi động lại trình duyệt.
Tobias

Các quy trình được sử dụng: Chromium 250MB Chromium 214 MB Chromium 150MB, compiz 119 MB, hệ tư tưởng-daemon 111 MB, crom 70MB, exe 24% CPU và 60MB, Rhythmbox 50MB, ubuntuone-syndaemon 26MB vv ..
Tobias

Tôi sợ vấn đề của bạn có thể được gây ra bởi chính trình duyệt. Cân nhắc chuyển sang Firefox hoặc bất kỳ lựa chọn nào của bạn, ý kiến ​​của người dùng trên web cho biết Chromium tiêu thụ bộ nhớ nhiều hơn khoảng 3 lần so với bất kỳ trình duyệt 'dòng trên cùng' nào khác. Hãy thử một lần. Cài đặt, mở cùng số lượng tab và so sánh ...
Adam Kroc: 05

Tôi sẽ làm điều đó. Cảm ơn rất nhiều cho lời đề nghị. tất cả những điều tốt nhất
Tobias
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.