Показатель оставался стабильным уже более года. Я остановил и перезапустил контейнер, и использование памяти снизилось, но за последние несколько часов оно снова выросло до прежнего уровня.
Что вызывает это? Утилиты top и ps показывают, что основные виновники — процессы postgres. Вот информация от free:
$ free -mh
total used free shared buff/cache available
Mem: 7.8Gi 2.5Gi 142Mi 2.3Gi 5.1Gi 2.6Gi
Я даже не могу получить доступ к дроплету через консоль DO. Он падает из-за нехватки памяти (OOM). К счастью, я настроил SSH-ключи и могу подключиться со своего личного ноутбука, поэтому пока ещё имею доступ к дроплету.
Что мне делать? У меня ограниченный бюджет, поэтому изменение размера дроплета — крайняя мера. Подскажите, есть ли другие варианты. Всё это выглядит совершенно неожиданным. Я использую версию 2.7.0.beta5.
Единственный вертикальный скачок на моих графиках за последние 14 дней также произошел 11 мая, но он был менее выраженным: с 78% до 89%. Возможно, тогда мы провели обновление?
Кажется, это связано с хостом, так как у меня использование памяти снизилось. Обновление версии до beta9 было добавлено 10-го числа, поэтому я, вероятно, сделал пересборку примерно в это время (и скачал новый образ, что видно по использованию диска), хотя я не помню обновления хоста, но возможно, это было.
Нет, я уже какое-то время работаю на версии 2.7beta5. Мы давно ничего не меняли.
Причина, по которой я не на последней версии, заключается в том, что после последнего обновления у нашего фронтенд-разработчика возникли проблемы, так как оно внесло некоторые разрушительные изменения в его стили (я просто системный администратор и в таких вещах не разбираюсь). Думаю, в Discourse эти проблемы уже исправлены, но мы ждали выхода следующей минорной версии для обновления.
Если вы добавите swap, вы избежите OOM. Вам не нужны OOM, и вам не нужно много активности подкачки, иначе скачок использования памяти может быть важен, а может и нет. (Это может быть интересно, но это уже другая тема.)
Я рекомендую выполнить vmstat 5 5
или аналогичную команду, чтобы увидеть, как выглядит активность подкачки.
Также free -h
более полезна, чем free -mh,
так как важно знать, сколько swap-памяти у вас осталось.