Распределение файлов страницы Windows выходит за пределы файлового пространства диска

У меня Windows-хост AWS EC2 в очень странной ситуации, и я ' Используемое дисковое пространство (размер на диске):

  • Папка Windows: 21,7 ГБ (23 349 198 848 байт)
  • Папка Program Files (x86): 4,00 ГБ (4 298 366 976 байт)
  • pagefile.sys: 8,00 ГБ (8 589 934 592 байта)
  • вместе с другими меньшими каталогами (users, inetpub, python27 и т. Д.)

Не нужно много времени, чтобы понять, что 22 + 4 + 8> 30 ГБ.

Как это возможно? У меня есть предположения (пространство подкачки фактически не выделяется, пока оно не используется?), но я не могу найти какую-либо документацию, которая действительно объясняет, как это происходит? Если бы мне пришлось использовать на этом компьютере больше ОЗУ до такой степени, что потребовалось бы пространство для подкачки, не вылетел бы он внезапно из-за отсутствия технически доступного подкачки?

Дополнительная информация: - Своп настроен как «Пользовательский размер», причем для «Начального размера (МБ)» и «Максимального размера (МБ)» установлено значение 8192. Это не управляемый системой размер.

0
задан 25 May 2017 в 18:57
1 ответ

Эта аномалия не связана с файлом подкачки. Папка Windows на самом деле не 21,7 ГБ. Многие элементы в различных подкаталогах C: \ Windows являются жесткими ссылками на C: \ Windows \ WinSXS. Копия жесткой ссылки в System32 состоит только из записи в MFT, она не занимает дисковое пространство, как это делает копия в WinSXS. У каждого профиля пользователя также есть переходы (один пример: Данные приложения -> Данные приложения). Если инструмент изменения размера не учитывает это, общий размер этих файлов подсчитывается дважды (или более) для содержимого файла, которое существует только в одном месте. К сожалению, большинство инструментов по-прежнему делают это неправильно, даже проводник, когда вы щелкаете правой кнопкой мыши по папке, выбираете свойства, ждете, пока он суммирует размер.

Ссылка здесь описывает другие методы для более точного определения размера, такие как Sysinternals DU и Powershell, где вы можете найти атрибуты -match "reparsePoint" или свойство linkType (для linkType требуется как минимум PS V5). https://superuser.com/questions/217773/how-can-i-check-the-actual-size-used-in-an-ntfs-directory-with-many-hardlinks

Что такое WinSxs , спросите вы?

Папка WinSxS - единственное место, где находится компонент в системе, все другие экземпляры файлов, которые вы видите в системе, «проецируются» путем жесткой привязки из компонента хранить.

.\du.exe -u "C:\Windows"
DU v1.6 - Directory disk usage reporter
Copyright (C) 2005-2016 Mark Russinovich
Sysinternals - www.sysinternals.com
Files:        161104
Directories:  35647
Size:         25,850,665,571 bytes
Size on disk: 26,113,503,232 bytes

.\du.exe "C:\Windows"
DU v1.6 - Directory disk usage reporter
Copyright (C) 2005-2016 Mark Russinovich
Sysinternals - www.sysinternals.com
Files:        120914
Directories:  35647
Size:         20,464,951,291 bytes
Size on disk: 20,759,183,360 bytes

This size does not equal that size

0
ответ дан 24 November 2019 в 04:31

Теги

Похожие вопросы