LINUX.ORG.RU

История изменений

Исправление KivApple, (текущая версия) :

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

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

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

Исходная версия KivApple, :

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

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