172 похожих чатов

Привет, ребят а поделитесь мнением, простыми словами над такой ситуацией:


Есть БД (postgres 11), в ней таблица с порядка 140 млн объектов + вторая таблица (fk) с 400 млн объектов (аттрибуты к первой таблице).
Периодически нужно обновлять данные. Обновление происходит с помощью insert on conflict update, данных в обновлениях до 10 млн
Процесс идет норм(с точки зрения работы программы), но приходят аллерты что swap на сервере заполнен на 99%(+-).
Куда в таких случаях двигаются - забить, уменьшить нагрузку, поковырять настройки? Вообще нужно на такое обращать внимание, черевато ли чем-нибудь?

12 ответов

3 просмотра

Для начала -- запустить free в такой момент, посмотреть что там твоя мониторилка имеет в виду под "swap забит на 99%". Ну, то есть если там 2/3 памяти buffers/cache -- то это какбы нормально, ненужная хрень вытеснена в своп, память забита текущими данными. Если жэ при этом buffers/cache 15% от памяти -- то повод задуматься, что виртуальной памяти могло бы быть и побольшэ.

Ivan Alshevskiy
Выходит все ок?

Вполне цивилизованно. То есть дёргать ничего не требутся. С другой стороны -- а чего его жалеть, можэт вкрячить классическое 2xRAM (ну или хотя бы 1xRAM) и не париться с этим на будущее (когда места в памяти станет чуть-чуть меньшэ)?

Ivan-Alshevskiy Автор вопроса
Ilya Anfimov
Вполне цивилизованно. То есть дёргать ничего не тр...

Насчет изменений тут я мало что могу поделать, этим заведуют админы. С моей точки зрения все было ок, но сказали что это очень не хорошо. Решил узнать мнение третей стороны. В любом случае ребята будут контролировать, за ответы спасибо

Ivan Alshevskiy
Насчет изменений тут я мало что могу поделать, эти...

Если им не нравится -- пусть увеличат, да. Им жэ не нравится? Ну, вот и. Я бы тожэ увеличил -- именно про запас.

Ivan Alshevskiy
Насчет изменений тут я мало что могу поделать, эти...

То есть смотри -- линуксу в среднем полезно, когда всякое неиспользуемое, но что нельзя просто выкинуть из памяти -- выкидывается из памяти в своп. А в память грузятся дисковые кэшы всякие, которые система считает, что нужнее того, что выкинуто. Потому в принцыпе неплохо, когда место в свопе есть, и если приходит кто-то жырные, но редкоиспользуемые -- то его вытесняют. Потому, кстати, линукс без свопа особенно не советуют (ну, по крайней мере когда он на bare metal, в виртуалках там бывает, что можэт хост не хужэ всё это отрабатывать). Разве что знаешь, что делаешь во всяких встраиваемых системах. С другой стороны -- ты всё равно не сможэшь меньшэ гигабайта всякого кода и библиотек держать в памяти на современной системе... Так что бороться за то, чтобы что-то сейчас существенно изменилось -- явно не обязательно. С третьей стороны -- времена меняются, приползёт ещё какой-нибудь жырный appserver, который хранит в себе много лишнего -- а его, если что, и вытеснить некуда, будет висеть своими лишними частями RAM занимать.

Какое значение vm.swappiness?

Ivan-Alshevskiy Автор вопроса
Konstantin Zaitsev
Какое значение vm.swappiness?

не уверен, но скорее всего стандартное.

Ivan Alshevskiy
не уверен, но скорее всего стандартное.

Вот бы я помнил )))) завтра посмотрите

Ivan Alshevskiy
Выходит все ок?

Available сильно меньше, чем buf/cache. Проверь, что у тебя tmpfs какая-нибудь мусором не забита.

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

Обсуждают сегодня

А чем вам питонисты не угодили?😂
.
79
Язык Си можно выучить за день? По книжке ANSI C на 230 страниц
Vincent Vegan
29
Привет, запускаю werf в dind в k8s, получаю ошибку на этапе build/beforeSetup: /.werf/stapel/embedded/bin/bash: /.werf/scripts/5898bdfe5214357d3706b879cc8d3d78460fb379607cbd...
florius0
7
Всем привет, написал код ниже, но он выдает сегфолт, в чем причина? #include <stdio.h> #include <stdlib.h> #include <string.h> struct product { char *name; float price; };...
buzz базз
75
Dim Dim, [02.07.2024 11:07] DB 0x62 Dim Dim, [02.07.2024 11:07] DB 0x66 Dim Dim, [02.07.2024 11:07] кто пояснит что это?
Dim Dim
14
Ошибка: segmentation fault (core dumped) Код: pastebin.com/BEsNNSSV Сообщение от компилятора: отсутствует ОС: Arch Linux Ядро: x86_64 Linux 6.9.7-arch1-1 Процессор: Intel Cele...
sec
4
Ребят, а за скок можно впарить анон чат с апишкой и веб админкой ?
Eugene Неелов
15
Ещё такой вопрос. Мне необходимо хранить пароль пользователя локально. Для этого планирую использовать ini файл. Это для автозаполнения полей логин и пароль при авторизации. Е...
Евгений
19
Кстати, я тут еще с одной темой столкнулся, вот учу я C++, на таком то ресурсе, а остальные постоянно советуют практиковаться, что то писать, проекты, но как писать если вот т...
aaswq1
7
Добрый день, чат. Мне в очередь из других RabbitMQ по shovel валятся метрики в формате текста для Prometheus. Помогите пожалуйста подружить RabbitMQ и Prometheus, чтобы он (...
Aleksey
4
Карта сайта