Рейтинг:0

Ограничить кеш-память Linux

флаг ru

Я знаю, что это нормально, когда свободная память близка к 0, а вся память находится в кэше.

Но это вызывает проблемы с приложением

Мне нужно, чтобы сервер не кэшировал так много и освобождал память обратно

Я пытался сделать это с sudo sysctl -w vm.vfs_cache_pressure=200

Но это не имело никакого эффекта

У меня Centos 7.9 Linux 3.10.0-1160.49.1.el7.x86_64

              общее количество использованных бесплатных общих баффов/доступных кешей
Память: 125 г 77 г 300 м 21 м 47 г 47 г
Своп: 8.0G 0B 8.0G
флаг ng
Мне любопытно, какую *точную буквальную* проблему вы пытаетесь решить? Linux немного глуп в том смысле, что чтение одной / пары больших вещей с низким приоритетом удалит важные вещи из кеша, но это кеш против кеша. Используемый кеш должен влиять на ваши приложения.
Рейтинг:1
флаг cn

Linux нельзя заставить не кэшировать. Эту память легко восстановить, она считается доступной.

Этот хост не испытывает серьезного дефицита памяти. Если бы это было так, их было бы меньше, и он мог бы начать использовать своп.

Попробуйте измерить информация о срыве давления. Это показывает время, которое процессы фактически потратили на ожидание памяти (или процессора или ввода-вывода). Если вы действительно испытываете нехватку памяти, время, затраченное на отказ или прямое восстановление, увеличит счетчик. К сожалению, требуется более поздняя версия ядра, возможно, попробуйте более новое ядро ​​или более новый дистрибутив на тестовой системе.

Если вы все еще чувствуете, что вам нужно что-то сделать, измените приложение на вызов posix_fadvise с советом POSIX_FADV_DONTNEED в файловых дескрипторах. Бесплатные файлы, к которым больше не будет доступа, поскольку кеш-память в сотни и тысячи раз быстрее, чем базовое хранилище.

флаг ru
Я не хочу вообще не кешировать, а вернуться на халяву через 30 мин, у меня приложение постоянно пишет файлы на диск и большую часть времени его никто не читает. Мне не нужно, чтобы эта информация оставалась в кеше, если ею никто не пользуется.
John Mahowald avatar
флаг cn
См. мое редактирование относительно posix_fadvise
флаг ru
Воспользовалась вашим советом, спасибо!!!! Но я все еще хочу вернуть память к свободной после периода времени, когда она не использовалась

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.