Как сделать дамп памяти в Windows Vista или Windows Server 2008

Автор: Topol Четверг, Май 3rd, 2012 Нет комментариев

Рубрика: Операционные системы

С появлением Windows Vista были внесены изменения в то, как ОС определяет, может ли она создать дампы памяти ядра, или нет. Начиная с Windows Vista  размер памяти, выделенной для ядра, может динамически меняться. Если файл подкачки не достаточно большой, то переключение на минидамп, во время проведения дампа, не может быть нормально завершено. Таким образом, инициализация стека дампа происходит во время загрузки, когда проверка размера файла подкачки завершена.

Что это значит? Это значит, что если на момент загрузки у вас нет файла подкачки такого объема, как объем физической памяти, и ваша система настроена на получение дампа ядра, всё закончится тем, что вы получите минидамп. Мы считаем, что это имеет смысл для клиентских машин, где правильный дамп более важен, чем подбитый дамп ядра, так как результат, обычно, загружается в Microsoft через WERCON, или другой механизм. Если необходима дальнейшая сортировка, то с вами может связаться MSFT, имея возможность собрать данные ядра.

Но в мире Windows Server  всё по-другому. У нас есть тысячи x64 машин, с 16 Гб памяти, и у нас нет возможности хранить файлы подкачки по 16 Гб, так как в системе может не быть места на диске С:\, или нет никакой финансовой выгоды от такого объёма. Мы настраиваем все наши системы, так, чтобы в случае падения сервера мы делали дампы с помощью отладчика или клавиатуры. Мы установили бета-версию нашей серверной ОС, так что висящие серверы это нормально, и, иногда, мы не можем разобраться с помощью отладчика, и дамп аварийного отказа наш единственный выход. Падение сервера с минидампом в нашем случае не выход.

Начиная с версии RC0, есть новый ключ реестра, настройка которого может сказать системе, не проверять при загрузке размер файла подкачки, что повышает ваши шансы на получение правильного дампа ядра. Мы проводили его внутренние испытания, и всё работало, как ожидалось. Так что, если в вашей системе с большим количеством памяти вам будут нужны дампы, этот трюк вам может понадобиться.

Ключ: HKLM\System\CurrentControlSet\Control\CrashControl
Значение: IgnorePagefileSize
Тип: DWORD
Значение: 1

Все очень логично и просто.

Источник: thevista.ru

Оставить комментарий

Чтобы оставлять комментарии Вы должны быть авторизованы.

Похожие посты