|
pg_dump. Занимает всю оперативную память и весь swap
|
|||
---|---|---|---|
#18+
Здравствуйте. Столкнулся с проблемой при снятии копии БД. Postgresql 9.6.7, ubuntu 16.04. При снятии копии утилитой pg_dump Код: plsql 1.
при настройках БД Код: plsql 1. 2. 3. 4. 5. 6. 7.
сначала заполняется вся оперативная память(12гб), после этого и весь swap(8гб) и снятие копии падает. В логе в это время пишется о чтении информации о БД. в pg_stat_activity мелькают запросы по представлениям вида Код: plsql 1.
Подскажите пожалуйста по какой причине может возникать подобная проблема, можно ли решить ее правильной настройкой postgresql.conf ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2017, 14:17 |
|
pg_dump. Занимает всю оперативную память и весь swap
|
|||
---|---|---|---|
#18+
Visermoz Код: plsql 1. 2. 3. 4. 5. 6. 7.
Слабоваты настройки для такого размера. Параметры машины можно увидеть? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2017, 14:33 |
|
pg_dump. Занимает всю оперативную память и весь swap
|
|||
---|---|---|---|
#18+
Попробовать что-то вроде этого: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9.
для начала ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2017, 14:36 |
|
pg_dump. Занимает всю оперативную память и весь swap
|
|||
---|---|---|---|
#18+
хорошая отправная точка для настроек ПЖ ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2017, 14:37 |
|
pg_dump. Занимает всю оперативную память и весь swap
|
|||
---|---|---|---|
#18+
mefman, meminfo Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45.
Процессор Intel(R) Xeon(R) CPU E5620 @ 2.40GHz Операционная система: Linux 4.4.0-83-generic #106~14.04.1-Ubuntu SMP Mon Jun 26 18:10:19 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux Информация по дискам: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
iostat Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
Спасибо вам за советы. я попробую сегодня с параметрами, которые вы указали ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2017, 05:22 |
|
pg_dump. Занимает всю оперативную память и весь swap
|
|||
---|---|---|---|
#18+
iostat ни о чем. Такую инфу нужно приводить в динамике. Графики заббикса например. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2017, 09:58 |
|
pg_dump. Занимает всю оперативную память и весь swap
|
|||
---|---|---|---|
#18+
mefman, к сожалению zabbix на сервере не стоит. в момент разрастания памяти в логе pg_dump последнее Код: plsql 1. 2. 3. 4. 5.
я выгрузил результат vmstat -SM 3 Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59.
iostat -m 3 10 Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59.
... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2017, 12:04 |
|
pg_dump. Занимает всю оперативную память и весь swap
|
|||
---|---|---|---|
#18+
VisermozЗдравствуйте. Столкнулся с проблемой при снятии копии БД. Postgresql 9.6.7, ubuntu 16.04. При снятии копии утилитой pg_dump Код: plsql 1.
при настройках БД Код: plsql 1. 2. 3. 4. 5. 6. 7.
сначала заполняется вся оперативная память(12гб), после этого и весь swap(8гб) и снятие копии падает. В логе в это время пишется о чтении информации о БД. в pg_stat_activity мелькают запросы по представлениям вида Код: plsql 1.
Подскажите пожалуйста по какой причине может возникать подобная проблема, можно ли решить ее правильной настройкой postgresql.conf Рекомендую попробовать сначала сделать pg_dump с другого сервера и проверить где закончится память. На базе или на сервере где Pg_dump работает. Тогда станет понятнее куда собственно копать. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2017, 13:43 |
|
pg_dump. Занимает всю оперативную память и весь swap
|
|||
---|---|---|---|
#18+
Maxim Boguk, проверил с другого сервера. Память занимает, постоянно увеличиваясь, именно процесс на сервере: ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2017, 14:18 |
|
pg_dump. Занимает всю оперативную память и весь swap
|
|||
---|---|---|---|
#18+
Чуть позже ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2017, 14:24 |
|
pg_dump. Занимает всю оперативную память и весь swap
|
|||
---|---|---|---|
#18+
mefmaniostat ни о чем. Такую инфу нужно приводить в динамике. Графики заббикса например. Практически во всех современных Linux, при установке sysstat, автоматом добавляется сбор статистики. Можно попробовать вытащить статистику: sar -d -f /var/log/sa/saXX Где XX - нужный день ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2017, 14:40 |
|
pg_dump. Занимает всю оперативную память и весь swap
|
|||
---|---|---|---|
#18+
Vadim Lejninmefmaniostat ни о чем. Такую инфу нужно приводить в динамике. Графики заббикса например. Практически во всех современных Linux, при установке sysstat, автоматом добавляется сбор статистики. Можно попробовать вытащить статистику: sar -d -f /var/log/sa/saXX Где XX - нужный день на убунту по-моему нет. Но не уверен. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2017, 14:50 |
|
pg_dump. Занимает всю оперативную память и весь swap
|
|||
---|---|---|---|
#18+
Vadim Lejnin, спасибо за совет. сбор статистики в системе был отключен. прописал true в /etc/default/sysstat и перезапустил службу sysstat . Теперь сбор появился. сегодня буду пробовать снять копию базы снова и посмотрю что будет в файле статистики. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.11.2017, 05:36 |
|
pg_dump. Занимает всю оперативную память и весь swap
|
|||
---|---|---|---|
#18+
После включения статистики воспроизвел проблему и в sar получил такое: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15.
... |
|||
:
Нравится:
Не нравится:
|
|||
29.11.2017, 05:53 |
|
pg_dump. Занимает всю оперативную память и весь swap
|
|||
---|---|---|---|
#18+
Особенность базы в том что в ней 30 схем. в каждой схеме примерно по 1000 представлений. и как раз снятие дампа падает на выгрузке определений этих представлений. Хочу попробовать вариант- сохранить SQL всех представлений, удалить их и снять без них. Мне интересно- это всё-таки дело в настройках Postgresql или такое количество представлений как-то влияет. Интересно понять причину почему такое происходит. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.11.2017, 06:11 |
|
pg_dump. Занимает всю оперативную память и весь swap
|
|||
---|---|---|---|
#18+
VisermozОсобенность базы в том что в ней 30 схем. в каждой схеме примерно по 1000 представлений. и как раз снятие дампа падает на выгрузке определений этих представлений. Хочу попробовать вариант- сохранить SQL всех представлений, удалить их и снять без них. Мне интересно- это всё-таки дело в настройках Postgresql или такое количество представлений как-то влияет. Интересно понять причину почему такое происходит. Количество представлений влияет. Настройки не причем. Попробуйте на сервере с 32Gb памяти сделать для интереса, если не помогает - напишите сюда я bug report подготовлю. PS: а pg_dump -F p -s имя_базы работает или тоже по ООМ валится? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.11.2017, 06:26 |
|
pg_dump. Занимает всю оперативную память и весь swap
|
|||
---|---|---|---|
#18+
Maxim Boguk, спасибо за совет. я попробовал снять копию с параметрами -F p -s, но ошибка также произошла на выгрузке представлений. После этого попробовал просто получить список представлений в psql: (system_schema.schema_list - таблица с именами схем с данными и представлениями) Код: plsql 1. 2. 3. 4.
С памятью произошла такая же проблема- начинает забиваться оперативная память и растет swap. А после полного заполнения процесс падает. План запроса: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18.
В представлении information_schema.views как раз присутствует функция pg_get_viewdef. К сожалению сейчас нет сервера с бОльшим количеством памяти чтобы проверить ваш вариант. Прошу прощения- в самом первом сообщении указал неправильную версию Postgresql - сейчас используется 9.5.7, а я написал 9.6.7. Как вы считаете, стоит ли обновиться на 9.6 чтобы проверить вариант с ошибками в текущем релизе 9.5.7? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.11.2017, 07:02 |
|
pg_dump. Занимает всю оперативную память и весь swap
|
|||
---|---|---|---|
#18+
Visermoz, Вам стоит обновится на 9.5.10 в начале (на последний стабильный релиз 9.5 ветки). Может там эта проблема уже исправлена. Если нет - я попробую bug report написать но вам стоит более подробно вашу схему описать. Сколько у вас всего views/схем/насколько каждый view в среднем длинный и тд. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.11.2017, 07:14 |
|
pg_dump. Занимает всю оперативную память и весь swap
|
|||
---|---|---|---|
#18+
Maxim BogukVisermoz, Вам стоит обновится на 9.5.10 в начале (на последний стабильный релиз 9.5 ветки). Может там эта проблема уже исправлена. Если нет - я попробую bug report написать но вам стоит более подробно вашу схему описать. Сколько у вас всего views/схем/насколько каждый view в среднем длинный и тд. И на всякий случай проверьте а запрос вида select (CASE WHEN pg_has_role(c.relowner, 'USAGE'::text) THEN pg_get_viewdef(c.oid) ELSE NULL::text END) as view_src from pg_class c where (c.relkind = 'v'::"char"); отрабатывает или тоже роняет сервер в OOM если роняет то проверьте запрос select pg_get_viewdef(c.oid) as view_src from pg_class c where (c.relkind = 'v'::"char"); ... |
|||
:
Нравится:
Не нравится:
|
|||
29.11.2017, 07:18 |
|
pg_dump. Занимает всю оперативную память и весь swap
|
|||
---|---|---|---|
#18+
Maxim Boguk, попробую сегодня обновить версию до 9.5.10. Интересно, что запрос Код: plsql 1.
всё-таки выполнился за 1 час. при его выполнении память процесса была 12 Гб и 3 гб в свопе. Сейчас в базе 22 схемы и в каждой около 1000 представлений: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24.
в среднем по проекту длина SQL представления 1900 символов. В каждом SQL минимум 3 таблицы и минимум 10 полей. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.11.2017, 09:26 |
|
pg_dump. Занимает всю оперативную память и весь swap
|
|||
---|---|---|---|
#18+
Maxim BogukКоличество представлений влияет. Вы имееtе в виду, что при дампе проводится select * из каждого? Или он на метадате затыкается? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.11.2017, 09:56 |
|
pg_dump. Занимает всю оперативную память и весь swap
|
|||
---|---|---|---|
#18+
mefman, падает на метаданных: идет огромное количество(как я понимаю по количеству представлений) запросов вида: Код: plsql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
29.11.2017, 10:43 |
|
pg_dump. Занимает всю оперативную память и весь swap
|
|||
---|---|---|---|
#18+
Странно конечно. 30000 доп объектов - не так много. Тем более сервак хоть не супер мощный, но для базы в 70Г вполне подойдет. Попробуйте, действительно обновиться до последней 9.5. если есть возможность потестируйте где-нибудь 9.6. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.11.2017, 11:07 |
|
pg_dump. Занимает всю оперативную память и весь swap
|
|||
---|---|---|---|
#18+
Обновил версию до 9.5.10 , но ошибка также воспроизвелась. Попробую на выходных обновиться до 9.6 и на этой версии снять копию ... |
|||
:
Нравится:
Не нравится:
|
|||
29.11.2017, 11:36 |
|
pg_dump. Занимает всю оперативную память и весь swap
|
|||
---|---|---|---|
#18+
Пока остановился на таком решении: буду снимать копии с помощью Pg_dump не базы целиком, а за несколько приходов. в pg_dump с ключом -n указываю первые 7 схем, следующий запуск с указанием других схем и т.д. Проверил такой вариант- работает и память так сильно не расходуется. Конечно, было бы интересно понять причину такой ошибки. Всем большое спасибо за советы и подсказки ... |
|||
:
Нравится:
Не нравится:
|
|||
29.11.2017, 12:12 |
|
|
start [/forum/topic.php?fid=53&fpage=62&tid=1996059]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
37ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
93ms |
get tp. blocked users: |
1ms |
others: | 293ms |
total: | 473ms |
0 / 0 |