Почему кэш в моей памяти всегда заполнен?

У меня 6 ГБ ОЗУ, процессор i5 2.4GHZ под управлением Ubuntu 11.10. Я разделил свой HD так, чтобы у меня был 8 ГБ подкачки.

При потоковой передаче в Интернете или открытии нескольких вкладок в Chromium у меня скоро в кеше 4 ГБ памяти. И я думаю, что это замедляет работу моего ноутбука. При потоковом воспроизведении видео через несколько минут оно действительно замедляется и спотыкается / дергается.

В чем может быть проблема? Как я могу решить это?

PS: изначально у меня было 4 ГБ, а недавно было обновлено до 6 ГБ, но я не испытал значительных изменений.

PPS: free -g в терминале печатает это:

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

3 ответа

Кэширование данных означает, что оперативная память должна делать вещи быстрее, а не медленнее - многократно извлекать вещи с диска, когда у вас неиспользуемая память, просто глупо. Однако, если вы перетекаете в пространство подкачки, это снизит производительность. Вы можете легко определить, используете ли вы какой-либо своп, запустив System Monitor, Если график подкачки не поднимается в момент начала проблемы, значит, проблема не связана с памятью.

Конечно, когда вы транслируете видео, оно кэшируется в памяти, но для заполнения 6Gb требуется довольно много видео! Я ожидаю, что загрузка такого большого количества данных займет больше, чем несколько минут, и намного больше, чтобы вызвать проблему!

Вы уверены, что что-то еще не проблема? Скажем, охлаждение возможно? Многие ноутбуки имеют процессоры, которые перегружены по сравнению с системой охлаждения. Это хорошо - он дает высокую пиковую производительность, хорош для бурного трафика, при этом сохраняя объем - но он не может поддерживать производительность долго, пока не будет вынужден вернуть тактовую частоту или таять. Видео может быть довольно интенсивным процессором, так что вы никогда не знаете?

Во всяком случае, вы должны иметь возможность видеть из использования памяти, обменивается ли она или нет. Если это так, то это проблема программного обеспечения, и ее можно исправить.:)

У меня та же проблема, кажется, что кеш никогда не освобождается... Один из примеров был, когда я извлек хранилище и в итоге получил кеш 4 Гб

Пример:

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

Я выполнил приведенный ниже код (комментарии приведены только для того, чтобы вы знали, что происходит), вы можете создать сценарий, чтобы запускать его тогда, когда вам это нужно:

# 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

После того, как я запустил код выше:

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

Я бы предложил запустить любой проводник процессов (например, системный монитор) и проверить, какой процесс потребляет так много памяти. опубликуйте его здесь, и мы посмотрим, сможете ли вы его отключить.

пс. хорошо, я понял Бьюсь об заклад, его "контейнер плагинов", который растет со временем из-за того, как он использует память. Я думаю, потому что это порт из системы Джилл Бейтс;). Убить его не поможет (убив его, вы потеряете все анимации на каждой странице, в основном рекламу, а также видео на Youtube). Кроме того, сам Chromium любит раздувать со временем, поэтому единственный способ справиться с ним, вероятно, будет перезапускать его время от времени. Посмотрите, поможет ли это...

Другие вопросы по тегам