Я пытаюсь понять, что такое pagecache, dentries и inodes. Что это такое?
user3344003 уже дал точный ответ на этот конкретный вопрос, но все же важно отметить, что структуры памяти динамически распределены.
Когда лучше использовать «свободную память», память будет использоваться для этих кешей, но автоматически очищается и освобождается, когда какое-либо другое «более важное» приложение хочет выделить память.
Нет, эти кеши не влияют на любые кеши, поддерживаемые любыми приложениями (включая redis и memcached).
Мой RAM сервер Amazon EC2 получал заполнены в течение дня - от 6% до до 95% в течение 7 дней. Мне нужно запустить bi-weekly cronjob, чтобы удалить этот кеш. Затем использование памяти снова уменьшится до 6%.
Возможно, вы неправильно интерпретируете ситуацию: ваша система может просто эффективно использовать свои ресурсы.
Для упрощения вещей: «свободная» память также может рассматриваться как «неиспользуемая» или даже более драматичная - пустая трата ресурсов: вы платили за нее, но не используете ее. Это очень неэкономичная ситуация, и ядро linux пытается сделать «более полезным» использование вашей «свободной» памяти.
Часть его стратегии предполагает использование ее для сохранения различных типов дисковых операций ввода-вывода с использованием различных кэшей памяти с динамическим размером. Быстрый доступ к кеш-памяти экономит «медленный» доступ к диску, поэтому часто это полезная идея.
Как только «более важный» процесс хочет выделить память, ядро Linux добровольно освобождает эти кеши и делает память доступной для процесса запроса. Поэтому обычно нет необходимости «вручную освобождать» эти кеши.
Ядро Linux может даже решить поменять память в противном случае на незанятый процесс на диск (место подкачки), освободив оперативную память, которая будет использоваться для «более важных» задач, вероятно, также может использоваться как некоторый кеш.
До тех пор, пока ваша система не будет активно переключаться в/из, есть небольшая причина вручную сбрасывать кеши.
Обычный чехол для «ручного сброса» этих кешей предназначен исключительно для сравнения: ваш первый тест производительности может запускаться с «пустыми» кешами и, таким образом, давать плохие результаты, а второй запуск будет показывать гораздо лучшие результаты (из-за к предварительно разогретым кешам). Сбрасывая свои кеши до запуска любого теста, вы удаляете «разогретые» кеши, и поэтому ваши контрольные показатели более «справедливы», чтобы их сравнивать друг с другом.
Эти подходы не должны иметь ничего общего с memcached или redis. Эти два приложения будут поддерживать свои собственные механизмы внутреннего кэширования, чтобы обеспечить их функциональность конечным пользователям, и влияют ли на них 3 системные операции - деталь реализации Memcached или redis. – jdi
Я немного опоздал на эту тему, но было бы хорошо знать, как вы определяете, что 95% ОЗУ используется в вашем vm. Часто возникает заблуждение, что вся физическая память используется, когда она находится именно в буферах + кеш, которые мы обсуждаем здесь. См. [Link] (http://www.linuxatemyram.com/) для хорошего объяснения этих столбцов. – bfloriang
Подробный мониторинг Amazon EC2 сообщает об использовании памяти (ОЗУ), и он использовал 95% использования. Иногда даже 98-99% –