Создать дамп памяти что это

Что такое дамп базы данных и как его создать

Создать дамп памяти что это

Перенос сайта с одного сервера на другой может оказаться непростой задачей для многих пользователей. Это связано с тем, что, помимо обычного перемещения файлов, необходимо также выполнить экспорт и импорт базы данных. В таких случаях используется специальный файл под названием дамп. Поговорим в сегодняшней статье, что это такое и как его сделать.

Что такое дамп базы данных

Дамп (англ. dump – сбрасывать) – файл, включающий в себя содержимое памяти компьютера или базы данных. В нашем случае это файл с расширением .sql. Он содержит особые данные, благодаря которым можно легко воссоздать копию БД.

Копирование базы данных может быть полезно, когда нужно выполнить: 

  • Перенос данных на другой хостинг. Не нужно повторно создавать БД и вносить в нее все данные руками. Достаточно создать дамп и импортировать его в новый проект.
  • Резервное копирование. Отличный способ для экспериментов с веб-сайтом или сервером: вносите корректировки в базу данных и не бойтесь, что произойдет сбой. В случае неисправности всегда можно будет все восстановить из дампа.

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

Создаем дамп базы данных MySQL

Существует несколько способов создания дампов: через консольное окно или с помощью phpMyAdmin. Рассмотрим последовательно каждый из методов, а также попробуем восстановить БД из дампа.

Способ 1: Консольное окно MySQL

Удаленное подключение к хостингу по SSH разрешает работать с информационными хранилищами. Выбор данного протокола обусловлен его высокой безопасностью, так как вся информация передается в зашифрованном виде без возможности перехвата трафика.

Для подключения вы можете воспользоваться такими программами, как PuTTY и WinSCP – они распространяются в бесплатном доступе. Остановимся на первой утилите и посмотрим, как с ее помощью можно сделать дамп базы данных MySQL.

  1. Открываем официальный сайт Putty и загружаем оттуда последнюю версию программы.
  2. Устанавливаем к себе на компьютер PuTTY и запускаем ее. Первым делом переходим в раздел «Connection» и находим там подраздел «Tunnels». В нем изменяем следующие параметры: указываем 336 в строке «Source port» и прописываем localhost:3306 в «Destination». В завершение нажимаем на кнопку «Add» — это действие позволит нам добавить созданный порт.
  3. Переходим в раздел «Sessions» — там вводим свой адрес или домен, в нижней части жмем на «Open».
  4. Вводим логин и пароль для подключения к БД.

Обратите внимание, что если на компьютере функционирует сервер с БД, то соединение через порт 3306 будет некорректно. В таких случаях рекомендуется использовать другие значения, например, 3307, 3308 и так далее.

Теперь мы можем переходить к удаленному администрированию БД: создадим дамп базы данных MySQL. Для этого введем в консоль следующий запрос:

mysqldump -uDataBase -pPASSWRD DataBase_NAME > FileName

  • -uDataBase —имя базы в формате типа -u[root]
  • -pPasswrd —пароль от базы в формате типа -p[123456]
  • DataBase_NAME — имя БД
  • FileName — название файла

В целях безопасности рекомендуется вообще не использовать логин и пароль. В таком случае команда примет следующий вид:

mysqldump -u -p DataBase_NAME > FileNameToSave

Для понимания можете взглянуть на пример с использованием пользователя и пароля:

mysqldump -uAdmin -p123456789 WordPressDB > WordPressDump.sql

Таким образом будет создан файл WordPressDump.sql, содержащий в себе все нужные данные для точного копирования. Посмотрим, как этот файл импортировать в проект через консоль:

mysql -uUSER -pPASSWRD -f DataBase_NAME < FileNameToEnter

Аналогично подставляем свои данные в команду и в итоге получаем:

mysql -uWordPressDB -p123456789 -f WordPressDB < WordPeressDump.sql [attention type=yellow]

Также при импорте мы можем указать кодировку — для этого достаточно добавить ключ default-character-set. В итоге код преобразуется:

[/attention] mysql -uAdmin -p123456789 -f –default-character-set=cp1251 WordPressDB < WordPeressDump.sql

Вот такими несложными действиями можно сделать копирование через консольное окно. Теперь давайте «покопаемся» в phpMyAdmin и выполним в нем копирование БД.

Способ 2: Инструмент phpMyAdmin

PhpMyAdmin по умолчанию предустановлен на каждой CMS. Доступ к нему осуществляется через личный кабинет пользователя на хостинге либо через локальный веб-сервер на домашнем ПК.

Подключаемся к phpMyAdmin и экспортируем БД:

  1. Открываем личный кабинет хостинга, на котором установлен веб-ресурс, и переходим в phpMyAdmin. На Timeweb это выполняется через раздел «База данных MySQL». Если вы используете локальный сервер на OpenServer, то достаточно в панели задач кликнуть правой кнопкой мыши по его иконке, перейти в меню «Дополнительно» и выбрать «PhpMyAdmin».
  2. Вводим логин и пароль, в результате чего попадаем в систему phpMyAdmin. В левой части выбираем БД для копирования и кликаем по ней левой кнопкой мыши.
  3. Переходим в раздел «Экспорт» и выбираем метод экспорта. Первый минимизирован – получится обычная БД без особых настроек, второй разрешает вносить важные уточнения. Например, мы можем удалять таблицы, изменять кодировку, добавлять особые параметры формата и многое другое. Перед сохранением файла указываем его формат и только потом нажимаем на кнопку «Вперед».

После этого нам будет предложен выбор места сохранения файла. В последующем мы сможем его использовать через вкладку «Импорт». Для этого достаточно загрузить файл и указать подходящую для него кодировку:

В заключение стоит сказать, что дамп базы данных – это незаменимый файл, без которого не обходится ни один серверный переезд. Используйте его для переноса базы на хостинге или с локальной машины, а также для создания резервных копий. Удачи!

Источник: https://timeweb.com/ru/community/articles/chto-takoe-damp-bazy-dannyh-i-kak-ego-sdelat

Дамп памяти для программы TSLab – Документация TSLab 2.1 – Documentation

Создать дамп памяти что это

Дамп памяти (англ. memory dump; в Unix — core dump) — содержимое рабочей памяти одного процесса, ядра или всей операционной системы. Также может включать дополнительную информацию о состоянии программы или системы, например значения регистров процессора и содержимое стека.

Многие операционные системы позволяют сохранять дамп памяти для отладки программы. Как правило, дамп памяти процесса сохраняется автоматически, когда процесс завершается из-за критической ошибки (например, из-за ошибки сегментации).

Дамп также можно сохранить вручную через отладчик или любую другую специальную программу.

Wikipedia

Создание дампа памяти

В случаях, когда программа TSLab зависает, или зависает, например, один агент, то для определения проблемы сделайте дамп памяти и пришлите его в службу поддержки вместе с логом программы.
Дамп можно сделать из диспетчера задач Windows. Порядок создания будет отличаться, в зависимости от того в каком режиме запущен TSLab и на какой версии Windows идет работа.

Чтобы получить дамп процесса:

  1. Нажмите Ctrl+Alt+Delete на клавиатуре.
  2. Выберите Диспетчер задач
  3. Для Windows 8, 8.1, 10 или серверная система нажмите Подробнее.
  4. Если работа идет на 32-битной Windows и запущена 32-битная TSLab или на 64-битной Windows и запущена 64-битная TSLab, правой кнопкой мыши нажмите на TSlabApp.exe и из контекстного меню выбрать Create Dump File (Создать файл дампа памяти).
  5. Дождитесь сообщения об успешном создании файла.
  6. Перейдите в папку с созданным дампом 

Если выполняется 32-битная TSLab на 64-битной Windows, то нужно запустить 32-битный Диспетчер задач.

Для этого нажать кнопку Пуск внизу слева.

В поле ввода “Найти программы и файлы” вбить (скопировать) строку C:\Windows\SysWOW64\taskmgr.exe и нажать Enter.

Должен запустится 32-битный Диспетчер задач. Чтобы убедиться что запущен 32-битный Диспетчер задач, нужно перейти на вкладку Процессы и найти строку с taskmgr.exe*32.
В случае если запущен 64-битный Диспетчер задач, то строка будет taskmgr.exe.

Далее выбрать строку с TSLabApp.exe*32 и в контектсном меню выбрать Создать файл дамп памяти.

Так как размер полученного файла дампа будет большой, то дамп нужно запаковать каким-либо архиватором

Если на компьютере нет архиваторов(правой кнопкой мыши на файле, в контекстном меню – отправить zip), например 7Zip (http://www.7-zip.org/), и выложить на любой файлообменник, например http://disk.yandex.ru http://files.mail.ru/
Ниже приведен алгоритм создания дампа памяти при Падении программы и как альтернативный способ создания дампа памяти при зависаниях.

Зачем нужен дамп и как его сделать

Программа TSLab построена на управляемом коде и выполняется под управлением .NET Framework. Но для получения данных от брокера она взаимодействует с кодом поставщика данных, который в существующих вариантах, выполнен в виде неуправляемого кода или машинного кода. Если происходит ошибка в управляемом коде, то она перехватывается внутри программы и, в зависимости от ошибки,

или просто делается запись в лог-файл и продолжается выполнение программы или, для тяжелых ошибок, выводится диалог и программа аварийно завершается.

В случае ошибки в неуправляемом коде .NET Framework в большинстве случаев перехватывает и превращает их в управляемое исключение, которое потом перехватывает программа.

Но при определенных ошибкахпрограмма просто аварийно завершается без передачи управления в программу. Например:

В этом случае ни о какой записи в лог и речи не идет. Для выяснения причин где и из-за чего произошла ошибка поможет дамп.

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

Но здесь надо отличать зависание программы от замедленной реакции программы под нагрузкой. Такое поведение например получается, когда на слабом компьютере запустить многопоточную оптимизацию и одновременно открыть много окон с быстроменяющимися инструментами.

Создание дампа при помощи программы ProcDump 

К сожалению по логам и тем более по скриншоту в данных ситуациях невозможно понять причину ошибки. Нужно делать дамп и анализировать его.

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

получение дампа требовало установки специальных инструментов и умения работать с ними, что конечно нельзя предлагать обычным пользователям.

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

Разберем, что необходимо сделать для получения дампа, в случаях зависания и краха программы.

Откройте окно командную строку Windows в режиме Администратора. Для запуска с правами администратора, необходимо сделать следующее:
Пуск — Все программы — Служебные
. Найдите ярлык Командная строка. Нажмите на нем правую клавишу мыши и выбирите Запуск от имени администратора.

С командной строки перейти в папку где распакован procdump
Переход осуществляется с помощью команды cd

Запустить программу procdump. При первом запуске она выводит окно с пользовательским соглашением, которое надо принять.
Далее, шаги для случая зависания и краха отличаются.

Случай зависания, это более простой случай. В момент когда программа зависла надо запустить procdump со следующими параметрами:
C:\utils>procdump -ma TSLabApp.exe crash.dmp
После этого в текущей папке создастся файл crash.dmp.

В случае с крахом (падением) программы все обстоит сложнее. В тот момент, когда появился диалог об ошибке, уже поздно что-то делать. В этот момент программа уже аварийно завершилась.

Дальнейшие действия имеет смысл предпринимать, только если подобная ошибка проявляется регулярно и в определенных ситуациях.Например, при выходе из программы или при определенных действиях в программе.

В этом случае перед этим нужно запустить программу procdump со следующими параметрами:

C:\utils>procdump -e -w -ma TSLabApp.exe crash.dmp

Программа выполняется до тех пор, пока не завершится выполнение TSLabApp.exe, и в случае если она завершится с ошибкой, то создастся дамп.

Размер дампа варьируется от условий работы программы. Он хорошо сжимается, поэтому, для пересылки его лучше запаковать, размер архива получится по крайней мере в два раза меньше исходного файла, и вложить его в сообщение на сайте поддержки с описанием ситуации.

Источник: https://docs.tslab.pro/pages/viewpage.action?pageId=10748581

Как получить дамп памяти сервера. И зачем. И что это вообще – Заметки системного администратора

Создать дамп памяти что это
Авг 22, 2016

Начнём с конца — что такое дамп памяти? Это сохранение содержимого памяти в файл. Своеобразный post mortem. Для последующего анализа.

Зачем

Нередкая ситуация: стоит сервер, работает, работает и вдруг бац, перезагрузился. И, вроде, дальше работает, но как-то некомфортно уже. А ну как ещё раз? Да неизвестно когда.

Или бывает, что регулярно. Точнее не регулярно, потому как нет стабильного интервала, но систематически, операционная система падает в BSOD. Ладно если началось после установки софта какого, а если железо — пойди угадай какое.

Но не только спонтанным падением ОС в синий экран ограничивается использование дампа. Иногда его вызывают вручную. По молодости для меня это даже звучало дико.

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

Дело в том, что анализ дампа, пожалуй, лучший способ найти причину жёстких проблем с производительностью, когда система вдруг перестаёт откликаться на любые внешние запросы. Или, например, групповые политики применяются уже 20 минут. Вскрыв дамп можем выяснить точного виновника торжества.

Есть определённая магия в исследовании дампов. Ведь дамп — снимок состояния системы на определённый момент, который уже давно прошёл. Исследование кусочка прошлого. Чувство палеонтолога, нашедшего комара в янтаре. Ну да ладно, хватит лирики.

Как

Кажется, всё просто: System — Advanced Settings — Startup and Recovery

Но есть определённые нюансы. И так как часто приходится писать инструкции и различные пояснения, решил собрать в кучу всё, что накопилось. Стоит иметь общее представление.

Наиболее типичные варианты:

Small memory dump — записывается минимум информации — можно будет понять общую причину сбоя. А она бывает настолько общей, что несколько полных дампов требуется, чтобы что-то конкретизировать.

Kernel memory dump — сохраняется только та часть памяти, в которой работали компоненты ядра (kernel).

Размер этого дампа не превышает 8,5 ГБ для Windows 2008 R2 x64, для Windows 2012 R2 уже, в принципе, может разогнаться до 128 ГБ (но не больше, чем физической памяти в сервере), однако больше 8,5 ещё не попадались.

Для большинства сбоев — драйверы, оборудование, системные процессы — его достаточно. Для анализа проблем производительности и сбоев, в которых задействовано не системное ПО (включая службы), как правило, нет.

Complete memory dump (или Full) — содержит всю память (и kernel mode и user mode), то есть максимально полную информацию о состоянии системы со всеми приложениями и состоянием этих приложений на момент сбоя.

Но и самый прожорливый вариант, поскольку размер дампа будет равен объёму физической памяти сервера, а на текущий момент 256 ГБ RAM уже не есть что-то удивительное. Нам тут выгрузили полный дамп сервера размером 4 ТБ. Это было интересно.

В некоторых случаях применим лайфхак — перед созданием дампа можно извлечь из сервера несколько планок памяти, или, если он виртуальный, уменьшить размер выделенной RAM (или склонировать сервер и порезать уже новую копию).

Но мало просто выбрать тип дампа. Потому что дамп не сможет собраться если:

  • файл подкачки недостаточного размера — должен быть чуть больше предполагаемого размера дампа, и не суммарно на нескольких дисках, а единым куском. Благо с Windows 2008R2 стало можно использовать pagefile не только на системном диске;
  • у сервера включена функция ASR (Automatic Server Recovery), которая перезагружает сервер, если не получает отклика от ОС. В зависимости от производителя и модели сервера, может отключаться через BIOS и/или программно (HP Proliant System Shutdown Service);
  • на диске не хватит места для создания дампа (по умолчанию папка %Windir%).

Как-то затратили больше недели, чтобы получить дамп сервера, который систематически падал в BSOD. Сначала мешала ASR, потом нехватка места на системном диске, а потом выяснилось, что кто-то, помимо 194 ГБ файла подкачки на специально выделенном дисковом томе создал ещё один размером 10 ГБ на системном. А при создании дампа ОС начинает искать с системного. И его не хватило.

Чтобы убедиться, что используется файл подкачки на нужном диске, стоит проверить ключ реестра HKLM\System\CurrentControlSet\Control\SessionManager\MemoryManagement

параметр PagingFiles должен первым значением иметь нужный том.

Как сгенерировать дамп вручную (инициировать BSOD)

 1. Классический способ — с помощью клавиатуры.

Для ключа

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\kbdhid\Parameters

Создать новый параметр

Name : CrashOnCtrlScroll Data Type : REG_DWORD Value : 1

Name : CrashOnCtrlScroll

Data Type : REG_DWORD

Value : 1

Любители нестандартных подходов могут выбрать любое другое сочетание, покурив статью msdn Forcing a System Crash from the Keyboard. Вплоть до CTRL+C

2. NotMyFault

К сожалению, в современных виртуальных средах клавиатура — не всегда приемлемый способ. В большинстве случаев более удобно использовать утилиту NotMyFault.

Скачать можно тут https://live.sysinternals.com/Files/NotMyFault.zip

Всё что нужно сделать — запустить командную строку с административными привилегиями, ввести NotMyFault.exe /crash и нажать Enter.

Но и приложение в виртуальной среде запустить не всегда возможно. Бывает, что система не отвечает и даже не показывает ничего, кроме чёрного экрана. В этом случае нам поможет сама виртуальная среда.

Как получить дамп текущего состояния виртуальной машины

Если у вас VMware ESXi, следуем по ссылке  Converting a snapshot file to memory dump using the vmss2core tool (2003941)

Если у вас Hyper-V, то Taking a dump of a VM running on Hyper-V

 Что дальше?

А дальше WinDbg или кому что нравится и почувствуй себя патологоанатомом.

К сожалению, я даже с парой внутренних модулей расширений для дебаггера от Microsoft, которые по мощи можно сопоставить с роботизированным лазерным скальпелем в сравнении с куском стекла в виде стандартного дебаггера, пока способен только к поверхностным вскрытиям. Так что не могу пока чем-то поделиться. Да и не мыслю уже работу без этих модулей. Тащите пациентов к нам в Premier Support.

Источник: https://sys-admin.in.ua/kak-poluchit-damp-pamyati-servera-zachem-chto-eto-voobshche.html

Поделиться:
Нет комментариев

    Добавить комментарий

    Ваш e-mail не будет опубликован. Все поля обязательны для заполнения.