Начало работы
Подключение
Тесты производительности
Развёртывание
Использование данных
Загрузка данных
Миграция данных
Запрос данных
Управление кластерами
Обновление
Глобальное обслуживание
Масштабирование
Мониторинг
Безопасность
Лучшие практики
Технические принципы
Типы данных
Хранилище
Исполняющий движок
Потоковая обработка (Domino)
MARS3 Индексы
Расширения
Расширенные функции
Расширенный запрос
Федеративные запросы
Grafana
Резервное копирование и восстановление
Аварийное восстановление
Руководство
Настройка производительности
Устранение неполадок
Инструменты
Параметры конфигурации
SQL-команда
Часто задаваемые вопросы
В производственных средах временами могут возникать дампы памяти из-за ошибок в программе или других неизвестных причин. Дамп памяти не только приводит к сбоям выполнения запросов, но и может вызвать отказ кластера. Поэтому сгенерированные файлы дампов являются критически важными артефактами для диагностики и должны быть переданы разработчикам для устранения неполадок.
Инструмент packcore упаковывает файлы дампов памяти для отладки и анализа командами разработки.
packcore — это утилита на Python, поставляемая вместе с YMatrix.
Расположение утилиты:
$GPHOME/sbin/packcore
Обратите внимание, что $GPHOME/sbin не добавлен в переменные окружения; поэтому необходимо использовать его абсолютный путь.
Пример использования:
$GPHOME/sbin/packcore -b $GPHOME/bin/postgres postgres.core.4_1635732782.17213
Где:
-b $GPHOME/bin/postgres указывает путь к исполняемому бинарному файлу. Рабочие процессы создаются как дочерние от основного процесса postgres. postgres.core.4_1635732782.17213 — сгенерированный файл дампа.После выполнения команды в текущей директории будет создан сжатый архив (.tgz) с тем же базовым именем, что и файл дампа. Передайте этот архив команде разработки. Он содержит файл дампа и информацию о соответствующей среде выполнения.
Для использования инструмента packcore операционная система должна сначала генерировать файлы дампов памяти.
Включите создание дампов памяти, настроив следующие параметры:
Установите лимит размера дампа памяти как неограниченный:
ulimit -c unlimited
# To make the setting persistent
echo "ulimit -c unlimited" >> /etc/profile
Отредактируйте конфигурацию sysctl:
vi /etc/sysctl.conf
Добавьте в конец файла следующую запись kernel.core_pattern=/home/mxadmin/%e.core.%s_%t.
Примените конфигурацию с помощью:
sysctl -p
Эта настройка определяет расположение и шаблон именования файлов дампов. Шаблон поддерживает следующие заполнители: