Джон Сэвилл (jsavill@windowsitpro.com) — директор по технической инфраструктуре компании Geniant, имеет сертификаты CISSP, Security and Messaging MCSE для Windows Server 2003 и звание MVP

В. Почему быстродействие виртуального диска фиксированного размера выше, чем у динамического виртуального диска?

О. При создании виртуального диска фиксированного размера объем создаваемого файла виртуального жесткого диска (VHD) — такой же, как у VHD. Например, если создан фиксированный VHD на 40 Гбайт, в файловой системе будет создан VHD-файл объемом 40 Гбайт.

Динамический VHD занимает пространство в файловой системе только по мере записи данных в VHD, поэтому при создании динамического VHD на 40 Гбайт формируется файл размером лишь в несколько сотен Кбайт. Начальный размер файла зависит от заданного размера динамического диска. В начальном файле хранится только поисковая таблица, которая используется для сопоставления виртуального диска с физическим. Для большого VHD требуется более крупная поисковая таблица, поэтому начальный размер VHD-файла будет больше. Поисковая таблица занимает примерно 0,0008 % от всего размера VHD.

Когда данные записываются в динамический VHD, операционная система сначала ищет пространство на физическом диске, содержащем VHD, и обновляет поисковую таблицу; только затем производится запись данных. Из-за этого многоэтапного процесса операция записи задерживается.

Фиксированный VHD выделяет все пространство заранее, поэтому его быстродействие выше, чем у динамического VHD. В действительности, производительность фиксированного виртуального диска почти такая же, как при прямом доступе виртуальной машины к физическому диску или логическому тому LUN; одновременно обеспечиваются преимущества переносимости и резервного копирования VHD.

В. Как найти причину катастрофических сбоев компьютера с «голубым экраном»?

О. В случае сбоя компьютера в каталоге Windows создается файл дампа памяти (memory.dmp). С помощью утилиты dumpchk.exe можно исследовать его содержимое и установить причину сбоя. Перед использованием утилиты нужно загрузить и установить символьный пакет для операционной системы с сайта. После того, как символы будут установлены, загрузите с сайта инструменты отладки Debugging Tools for Windows. Имеются версии для 32- и 64-разрядных операционных систем.

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

dumpchk -y %windir%\symbols %windir%\memory.dmp

Ниже приводится результат выполнения команды. Обратите внимание на строку Probably caused by, в которой указана вероятная причина сбоя.

C:\Program Files\Debugging Tools for Windows (x64)>dumpchk -y
%windir%\symbols
%windir%\memory.dmp
Loading dump file C:\Windows\memory.dmp
Microsoft (R) Windows Debugger Version 6.9.0003.113 AMD64
Copyright (c) Microsoft Corporation. All rights reserved.
Loading Dump File [C:\Windows\memory.dmp]
Kernel Summary Dump File: Only kernel address space is available
Symbol search path is: C:\Windows\symbols
Executable search path is:
Windows Server 2008 Kernel Version 6001 (Service Pack 1) MP (4 procs)
Free x64
Product: Server, suite: Enterprise TerminalServer SingleUserTS
Built by: 6001.18000.amd64fre.longhorn_rtm.080118-1840
Kernel base = 0xfffff800`02a61000 PsLoadedModuleList =
0xfffff800`02c26db0
Debug session time: Sun Sep 21 12:30:02.588 2008 (GMT-5)
System Uptime: 2 days 22:08:26.619
Loading Kernel Symbols
. ...............................................................................
. ...................................................................
Loading User Symbols
PEB is paged out (Peb.Ldr = 000007ff`fffd6018). Type «.hh dbgerr001»
for
details
Loading unloaded module list
. .....
*******************************************************************************
* *
* Bugcheck Analysis *
* *
*******************************************************************************
Use! analyze -v to get detailed debugging information.
BugCheck A, {167, 2, 0, fffff80002a9e835}
Page c27fa not present in the dump file. Type «.hh dbgerr004» for
details
PEB is paged out (Peb.Ldr = 000007ff`fffd6018). Type «.hh dbgerr001»
for
details
PEB is paged out (Peb.Ldr = 000007ff`fffd6018). Type «.hh dbgerr001»
for
details
Probably caused by: ntkrnlmp.exe ( nt!CcZeroEndOfLastPage+1b5 )
Followup: MachineOwner