5

У меня есть дополнительный жесткий диск (отдельное физическое устройство, а не логический раздел), специально предназначенный для файла подкачки виртуальной памяти. Диск в 3,5 раза больше моей оперативной памяти, поэтому он достаточно большой.

Когда я настраиваю виртуальную память Windows 7 для размещения файла подкачки на этом втором жестком диске, а не на том же диске, что и операционная система, я предупреждаю,

Если вы отключите файл подкачки или установите начальный размер менее 800 мегабайт и произойдет системная ошибка, Windows может не записать сведения, которые могут помочь выявить проблему. Вы хотите продолжить?

Другими словами, если я получу «Синий экран смерти», я не смогу выяснить, почему, просто потому, что я поместил файл подкачки в более эффективное место.

Лучшее объяснение, которое я могу найти при поиске в Интернете, заключается в том, что Windows просто не хочет создавать дампы ошибок на диске отдельно от расположения операционной системы. Кто-нибудь может дать мне менее бессмысленное объяснение этому?

Я не хочу говорить Windows: «Конечно, продолжайте и продолжайте управлять файлом подкачки на основном диске», просто чтобы получить отладочный дамп, так как это полностью отрицает цель физически разделенного файла подкачки. Есть ли обходной путь, чтобы мой файл подкачки находился на отдельном диске и все еще получал дампы ошибок?

4 ответа4

3

Этот ответ относится ко второй части вопроса ОП - «Могу ли я что-то с этим сделать?" Да!

Windows Vista и более поздние версии позволяют указывать нечто, называемое "выделенный файл дампа". (Я буду использовать DDF для краткости.)

Думайте об этом как о файле подкачки, но ОС было сказано никогда не использовать его для файла подкачки (тем самым сохраняя фактический ввод-вывод файла подкачки на диске подкачки). Но так как он "похож на файл подкачки", ОС может использовать его для временного хранения информации дампа во время BSOD. После перезагрузки он будет скопирован в файл дампа, который вы указали обычным способом.

Более того, DDF даже не должен быть в вашем загрузочном разделе! Это может быть «любой локальный том, который может поддерживать файл подкачки». (Это устраняет необходимость в съемных дисках, таких как что-либо на USB, и кластерном хранилище Windows.)

Настроить его легко, но пользовательского интерфейса нет, поэтому он требует изменения реестра.

В разделе реестра HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\CrashControl создайте значение с именем DedicatedDumpFile типа REG_SZ. Задайте в строке полный путь к месту, где вы хотите, чтобы DDF был. Вам не нужно предварительно создавать файл самостоятельно. Например, C:\DUMPTEMP.SYS

По умолчанию ОС установит свой размер RAM + 256 МБ. Вы можете указать размер вручную с помощью другого значения реестра в том же ключе: Имя значения DumpFileSize , введите REG_DWORD, значение = требуемый размер в мегабайтах. И это будут "двоичные мегабайты" в стиле Microsoft. Поэтому, если вы хотите, чтобы оно было "4 ГБ", то есть "4 ГиБ", вам следует использовать значение 1024 здесь.

Больше информации в этой статье MSDN.

Хотя, находясь здесь, я бы почувствовал себя опрометчиво, если бы не указал, что "физически разделенный файл подкачки" обычно мало что меняет, если вы не обращаетесь к нему много ... более эффективно добавить оперативную память.

Все exe, dll и другие сопоставленные файлы, которые используют все ваши процессы? По сути, это тоже файлы подкачки! Таким образом, перемещение вашего файла подкачки на другой диск изолирует пейджинговый ввод-вывод для этого одного файла. Ваша система будет по-прежнему выполнять пейджинг, а в некоторых случаях - и все остальные файлы, отображенные в памяти на вашем диске ОС.

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

Однако перенос вашего единственного файла подкачки на диск сам по себе позволяет вам использовать счетчики производительности дискового ввода-вывода для этого накопителя, чтобы выяснить, сколько реально выполняет ввод-вывод файлов подкачки в вашей системе. Другого способа сделать это не существует, поскольку счетчики PerfMon, такие как «операции чтения страниц», включают в себя операции чтения страниц для всех этих отображенных в память файлов, таких как exe и dll.

3

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

Таким образом, при создании аварийного дампа важно, чтобы все было как можно проще. В конце концов, основная причина BSOD может быть в самой файловой системе. По этой причине аварийный дамп записывается в файл подкачки на системном диске, а не во вновь созданный файл. Я считаю, что это делается в обход файловой системы. Запись в файл подкачки на другом диске усложнит это. Если что-то пойдет не так, другие файлы или сама файловая система могут быть повреждены и усугубить проблему.

Предполагается, что во время перезагрузки после BSOD система находится в стабильном состоянии, и аварийный дамп копируется из файла подкачки в конечный пункт назначения. Затем файл подкачки может возобновить свою нормальную работу.

0

Вы ужасно неверно истолковали сообщение об ошибке. Это говорит:

Если вы отключите файл подкачки или установите начальный размер менее 800 мегабайт [~ snip ~]

... тогда как вы интерпретируете это как:

Если вы поместите файл подкачки на другой диск [~ snip ~]

Как вы попали с первого на второе? Задайте себе этот вопрос: вы отключаете файл подкачки или устанавливаете его размер менее 800 мегабайт? Ответ: черт возьми, нет!Вы переносите его на другой диск.

Windows выдает это предупреждающее сообщение, даже если вы сначала установили файл подкачки на другой диск, потому что вы всегда можете вернуться и отменить его.

-1

Если я получу Синий экран смерти, я не смогу выяснить, почему

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

Это утверждение неверно.

Вы можете настроить расположение файла дампа независимо от расположения файла подкачки.

  1. Пуск> "Панель управления"> "Система".

  2. Нажмите "Расширенные настройки системы".

  3. Нажмите на вкладку "Дополнительно".

  4. В разделе "Запуск и восстановление" нажмите "Настройки".

  5. В разделе "Запись информации об отладке" выберите нужный тип дампа и местоположение "Файл дампа" (которое может находиться на любом диске, который вы выберете).

Заметки:

  • Независимо от настроек файла подкачки или файла дампа базовая информация BSOD будет записана в журнал системных событий (если настроено для этого)

  • Файл дампа может использоваться, чтобы исследовать причину BSOD.


дальнейшее чтение

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .