Свободная память в Linux всегда уменьшается, даже если кеш очищается.

В конкретном случае Tomcat (, как и в этом вопросе ), я обнаружил, что проще поместить большинство этих настроек в bin/setenv.sh, который выполняется Tomcat при запуске и оценивает переменные в сценарий оболочки, как и ожидалось.

Итак, в /etc/systemd/system/tomcat.serviceя указываю переменные Environmentтолько для CATALINA_BASEи CATALINA_HOME, а затем помещаю все остальное в ${CATALINA_BASE}/bin/setenv.sh.

2
19.01.2020, 15:53
2 ответа

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

Также я считаю, что java естественно использует больше памяти, когда видит больше доступной памяти, и требует много параметров, чтобы предотвратить это.

Если из-за этого какой-либо инструмент мониторинга выдает предупреждение об использовании памяти, вам следует исправить инструмент мониторинга, чтобы он давал правильный отчет о фактическом доступном объеме памяти (например, :здесь бесплатно сообщает вам, что 5584 МБ доступно рядом с 156 МБ свободно ).

В качестве примечания: тот факт, что 157 МБ подкачки используются, не является проблемой до тех пор, пока они не загружаются и не выгружаются (, это можно проверить с помощьюvmstat). Это означает, что для реальной деятельности стало доступно на 157 МБ больше памяти. Это все еще то, за чем нужно следить.

10
27.01.2020, 21:49

Ядро Linux использует столько памяти, сколько необходимо/возможно, в качестве буферной или кэш-памяти. Это ускоряет работу системы и полностью предназначено. Номер, который вы действительно ищете, находится в колонке под названием «доступно». Если для приложений требуется больше памяти, ОС освободит часть кэш-памяти для использования этим приложением.

3
27.01.2020, 21:49

Теги

Похожие вопросы