Mengapa cache di memori saya selalu penuh?

13

Saya memiliki RAM 6GB, Prosesor i5 2.4GHZ yang menjalankan Ubuntu 11.10. Saya mempartisi HD saya sehingga saya memiliki swap 8GB.

Saat streaming online atau membuka beberapa tab di Chromium, saya segera memiliki Memori 4GB di cache. Dan saya pikir ini membuat Notebook saya lambat. Saat streaming video, setelah beberapa menit itu benar-benar melambat dan tersandung / tersentak.

Apa masalahnya? Bagaimana saya bisa memecahkan masalah ini?

PS: awalnya saya punya 4GB dan baru-baru ini ditingkatkan menjadi 6GB, tapi saya tidak mengalami perubahan yang signifikan.

PPS: free -gdi terminal cetak ini:

               total       used       free     shared    buffers     cached
Mem:             5          2          3          0          0          0
-/+ buffers/cache:          1          4
Swap:            8          0          8
Tobias
sumber
Apa yang Anda maksud dengan "RAM Cache" dan bagaimana Anda tahu bahwa itu sudah penuh?
Sergey
Bisakah Anda menjalankan free -g(di terminal) ketika Anda mengalami masalah dan memasukkan output dari perintah dalam pertanyaan Anda.
Portablejim
Pada panel atas saya, saya memiliki applet yang menunjukkan penggunaan RAM dan CPU secara grafis. Ketika saya klik, itu memberitahu saya bahwa: "Mem: 2GB Cache 4GB"
Tobias
1
free -gmengatakan Anda sudah memiliki 3GB RAM gratis. Memori bukan masalah Anda!
am
Ok, terima kasih banyak sudah membereskannya, tapi mungkin karena pada saat itu saya tidak streaming online? Saya baru saja menjalankan kromium.
Tobias

Jawaban:

13

Caching data adalah RAM yang seharusnya membuat segalanya lebih cepat, bukan lebih lambat - mengambil hal-hal berulang kali dari disk ketika Anda memiliki memori yang tidak digunakan hanya konyol. Jika Anda tumpah ke ruang swap, itu akan memukul kinerja. Anda dapat dengan mudah mengetahui apakah Anda menggunakan swap apa pun dengan menjalankan System Monitor. Jika grafik swap-space tidak naik pada saat masalah dimulai, maka masalahnya tidak terkait memori.

Tentu saja, ketika Anda streaming video itu akan di-cache dalam memori, tetapi dibutuhkan cukup banyak video untuk mengisi 6Gb! Saya berharap akan membutuhkan lebih dari beberapa menit untuk mengunduh sebanyak itu data, dan lebih banyak lagi menyebabkan masalah!

Apakah Anda yakin ada masalah lain? Katakan, pendinginan mungkin? Banyak notebook memiliki prosesor yang melebihi kecepatan dibandingkan dengan sistem pendingin. Ini bagus - ini memberikan kinerja puncak yang tinggi, bagus untuk lalu lintas yang meledak-ledak, sambil menjaga curah turun - tetapi tidak dapat menjaga kinerja untuk waktu lama sebelum dipaksa untuk memutar kembali laju jam atau mencair. Video bisa menjadi prosesor yang cukup intensif, jadi Anda tidak pernah tahu?

Lagi pula, Anda harus dapat melihat dari penggunaan memori apakah itu bertukar atau tidak. Jika ya, maka itu masalah perangkat lunak, dan itu bisa diperbaiki. :)

am
sumber
Saya menggunakan hanya 1,8% dari SWAP. Pendinginan bukan masalah karena saya memiliki bantalan pendingin dengan dua kipas. Saya tahu video adalah prosesor yang intensif tetapi i5 quad core 2,4GH dan 6GB RAM harus cukup untuk streaming yang lancar.
Tobias
1,8% dari swap menunjukkan kepada saya bahwa masalah Anda bukan karena Anda kehabisan RAM. Saya setuju, selama prosesor Anda belum dicekik, itu harus dapat melakukan pekerjaan.
ams
Ok daripada mungkin itu adalah Browser itu sendiri?
Tobias
Terima kasih atas jawaban Anda, saya akan mencoba menggunakan peramban lain dan memberi tahu Anda jika masalah berlanjut. Terima kasih sekali lagi, Anda sangat membantu dan baik hati, saya sangat menghargai!
Tobias
11

Saya memiliki masalah yang sama, sepertinya cache tidak pernah dirilis ... Salah satu contoh adalah ketika saya memeriksa repositori dan berakhir dengan cache 4GB

Contoh:

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

Apa yang saya lakukan adalah menjalankan kode di bawah (komentarnya hanya agar Anda tahu apa yang sedang terjadi), Anda dapat membuat skrip sehingga Anda dapat menjalankannya saat Anda membutuhkannya:

# 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

Setelah saya menjalankan kode di atas:

$ free -m
             total       used       free     shared    buffers     cached
Mem:          7949       2820       5129          0          2        407
-/+ buffers/cache:       2409       5539
Swap:         7627          2       7625
Carlo
sumber
4
Ini bukan masalah, ini adalah cara kerja cache halaman. Ini akan menjaga barang-barang di-cache selama mungkin, tetapi melepaskan item secara otomatis ketika tekanan memori dari aplikasi lain meningkat. Membersihkannya secara manual tidak perlu.
Cesium
5
Mungkin memang demikian tetapi dalam hal ini algoritme tidak sebaik itu. Mengapa saya harus lebih dari 4GB cache dan mulai menggunakan swap?
Carlo
Mengenai hal ini, saya suka artikel ini: link
Carlo
1
Dalam kasus saya saat ini, saya sedang memeriksa repositori besar dan semua file di-cache hingga mengisi memori, setelah itu mulai bertukar alih-alih melepaskan cache ...
Carlo
Saya dulu tertarik dengan pengembangan kernel .. Cukup yakin ini masih "sesuai desain." Jika kernel berpikir bahwa bagian dari suatu file lebih mungkin untuk diakses lagi segera daripada beberapa data anonim, itu akan menukar data anon dan menyimpan cache halaman. Apakah itu membuat keputusan yang tepat adalah pertanyaan yang berbeda, tentu saja :)
Steve Dee
0

Saran saya adalah menjalankan proses explorer (Monitor Sistem misalnya) dan memeriksa apa proses yang menghabiskan begitu banyak memori. poskan di sini dan kami akan melihat apakah Anda dapat mematikannya.

ps. ok, saya mengerti sekarang. Saya yakin 'wadah plugin' yang tumbuh seiring waktu karena cara menggunakan memori. Saya kira ini karena ini port dari sistem Gill Bates;). Membunuh itu tidak akan membantu (dengan membunuhnya Anda akan crash semua animasi pada setiap halaman, terutama iklan tetapi juga video Youtube). Selain itu, Chromium sendiri suka mengasapi waktu sehingga satu-satunya cara untuk mengatasinya adalah dengan memulainya dari waktu ke waktu. Lihat apakah itu membantu ...

Adam Kroczyk
sumber
Memang, ketika saya me-restart browser, streaming berjalan dengan lancar lagi, namun hanya untuk 10 menit. Maka saya harus me-restart browser lagi.
Tobias
Proses yang digunakan: Chromium 250MB Chromium 214 MB Chromium 150Mb, compiz 119 MB, zeitgeist-daemon 111 MB, chromium 70Mb, exe 24% dari CPU dan 60MB, Rhythmbox 50MB, ubuntuone-syndaemon 26MB dll.
Tobias
Saya khawatir masalah Anda mungkin disebabkan oleh browser itu sendiri. Pertimbangkan beralih ke Firefox atau salah satu pilihan Anda, pendapat pengguna di web mengatakan Chromium menghabiskan sekitar 3x lebih banyak memori daripada browser 'top line' lainnya. Cobalah. Pasang, buka jumlah tab yang sama dan bandingkan ...
Adam Kroczyk
Saya akan dp itu. Terima kasih banyak atas sarannya. semua yang terbaik
Tobias