LINUX.ORG.RU

Куда девается оперативная память ???

 


0

1

Привет всем , у меня такая проблема ,непонятно куда уходит вся оперативная память , когда запустил машину было cached 245 , через час проверяю уже cached 1013. Если машина целый день будет включен она жрет всю оперативку , как с ним боротся? подскажите пожалуйста

Ответ на: комментарий от magvayer

Не жрет. А кэширует окружение. Полезная фича.

dk-
()
Ответ на: комментарий от magvayer

System uptime 322 days, 13 hours, 00 minutes
Real memory: 7.81 GB total / 6.10 GB free / 5.87 GB cached

Полет отличный.

dk-
()

ТС, когда оперативка потребуется, ОС её сразу отдаст запросившему приложению. Не парься.

peregrine ★★★★★
()

Linux хранит дисковый кеш в свободной ОЗУ. При этом она остаётся свободной. Потому что как только потребуется память - самый старый кусок кеша тут же выгрузится. Это очень быстро - ядро просто уберёт этот фрагмент из списка, чтобы не считать его кешем и будет работать с ним как с обычной памятью. Не следует путать кеш чтения и кеш записи. Второй нельзя быстро выгрузить, потому что надо дождаться записи изменений на диск. С другой стороны кеш записи обычно не очень большой. И да, его размер иногда есть смысл дополнительно ограничивать для избежания 12309. Кеш же чтения трогать ни в коем случае не нужно, если ты не знаешь зачем действительно это тебе нужно. А нужно это в особых случаях и достаточно редко. Когда кеш чтения займёт всю свободную ОЗУ, он перестанет расти, в подкачку уходить не будет, потому что это бессмысленно. Новые записи кеша будут вытеснять более старые. Впрочем, приложения ничего не заметят, потому что им ОЗУ будет выдаваться по первому же запросу, как и раньше.

В общем, просто забей на значение cached в статистике использования памяти. Реально важно только сколько занято ОЗУ без учёта кешей (в выводе free есть соответствующая строчка). А чем больше cached - тем лучше, ведь система работает быстрее, чем это значение больше. После длительной работы cached будет почти равно объёму ОЗУ, что следует считать оптимальным значением и тихо радоваться.

P. S.: В отличии от всяких SSD у ОЗУ нет понятия максимального количества циклов перезаписи. ОЗУ совершенно всё равно хранятся там какие-то данные или нет - это не влияет на энергопотребление, срок службы и т. д. С другой стороны какой смысл иметь много ОЗУ и не использовать её?

KivApple ★★★★★
()
Последнее исправление: KivApple (всего исправлений: 1)
Ответ на: комментарий от dk-

Он сам уменьшится как только потребуется доступ софту к памяти.

Я как-то пользовался программкой, она на системе с шестью гигами ОЗУ сказала «мало» и вырубилась, хотя никогда больше гига не ела. Для запуска понадобилось делать другую программу, которая тупо отжирала память, чтобы у первой глюк при вычислении объёма свободной памяти обойти.

i-rinat ★★★★★
()

Это, пожалуй, самый винрарный вопрос нуба в линуксе. Всплакнул припомнив начало нулевых.

unt1tled ★★★★
()
Ответ на: комментарий от magvayer

Да. Это типичная работа системы. Вся свободная память используется под кэш.

inb4: Не светоч знаний, просто не в настроении для стёба. :)

Radjah ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.