Назад | Перейти на главную страницу

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

У меня Windows-хост AWS EC2 в очень странной ситуации, и я не могу определить, как это вообще возможно.

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

Корневое устройство в AWS: 30 ГБ (29,6 ГБ в Windows). Используемое дисковое пространство (размер на диске):

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

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

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

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

Ссылка здесь описывает другие методы для более точного определения размеров, такие как Sysinternals DU и Powershell, где вы можете найти attributes -match "reparsePoint" или linkType property (для 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