Какова цель «C: \ swapfile.sys» в Windows 8?


61

В Windows 8 есть следующие два файла в C: \

  1. pagefile.sys - не удивительно. Он такой же большой, как я настроил, как размер моего файла подкачки
  2. swapfile.sys - он размером 256 МБ

Какова цель этого дополнительного swapfile.sysфайла?

Я ищу авторитетный ответ на этот вопрос. В Интернете уже достаточно предположений об этом.


3
Ответы здесь кажутся довольно авторитетными, называя приостановку / возобновление приложений Metro одним из основных применений swapfile.sys.
Индрек

@Indrek да. Я надеялся на немного больше деталей. Почему два файла? Существующие ответы довольно тонки в деталях.
USR

4
Как ни странно, Windows 8 поддерживает одновременную подкачку и подкачку. В Pagefile спины перегружена физической памяти и содержит объекты, которые не были доступ в течение очень долгого периода времени. Файл подкачки хранит объекты, активно извлеченные из памяти, потому что они не будут доступны в течение некоторого времени. Пейджинг более эффективен на высокопроизводительных компьютерах. Обмен более эффективен на планшетах и ​​телефонах с низкой производительностью. Если бы использовался один файл, он был бы сильно фрагментирован из-за сочетания небольших страниц фиксированного размера для подкачки страниц и больших кусков для подкачки.
Дэвид Шварц

Там должно быть два файла, потому что слишком много программ предполагают, что файл подкачки будет использоваться ТОЛЬКО для подкачки страниц, а не подкачки плюс .
Surfasb

Ответы:


5

Несколько ссылок из опубликованных ответов заканчиваются ссылками на него, но http://blogs.technet.com/b/askperf/archive/2012/10/28/windows-8-windows-server-2012-the-new -swap-file.aspx

кажется более определенным ответом:

Вы можете спросить: «Зачем нам нужен еще один файл виртуальной страницы?». Итак, с появлением Modern App нам понадобился способ управления их памятью вне традиционного метода Virtual Memory / Pagefile. При этом «% SystemDrive% \ swapfile.sys» родился.

Windows 8 может эффективно записать весь (частный) рабочий набор приостановленного приложения Modern на диск, чтобы получить дополнительную память, когда система обнаруживает давление. Этот процесс аналогичен гибернации определенного приложения, а затем возобновлению его, когда пользователь снова переключается на приложение. В этом случае Windows 8 использует механизм приостановки / возобновления работы современных приложений для очистки или повторного заполнения рабочего набора приложения.


39

От сотрудника Microsoft на форумах Technet .

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

 

Приостановка / возобновление работы приложений в стиле Metro - это один сценарий, в будущем возможны и другие.


3

Хотя я не совсем уверен, какова его цель, похоже, он используется для хранения / кэширования содержимого, которое используется в данный момент.

Если вам интересно узнать, что находится внутри, вы можете получить заблокированные файлы, такие как swapfile.sys или pagefile.sys, из работающей системы Windows, используя FGET(Forensic Get by HBGary).

Выполните следующую команду (от имени администратора):

FGET -extract% systemdrive% \ swapfile.sys OUTPUT_PATH

После чего вы можете выполнить анализ строки с помощью Strings. В swapfile.sys на моей системе, среди прочего я нашел:

мой адрес электронной почты, несколько адресов электронной почты и адресов электронной почты, переменные среды, частичное содержимое посещенных веб-страниц, строки mimetype, строки пользовательских агентов, файлы XML, URL-адреса, IP-адреса, имена пользователей, имена библиотечных функций, настройки приложений, строки путей и т. д.

Я также попытался вырезать файл для поиска распространенных графических форматов и нашел несколько файлов JPEG и PNG, состоящих из значков приложений, ресурсов веб-страниц, нескольких изображений профиля, ресурсов изображений из приложений Metro и т. Д.


Если у FGETвас не работает, попробуйте использовать ifindи icatиз набора Sleuth Kit . Вы можете найти номер записи MFT для swapfile.sys с использованием ifindследующим образом :

ifind -n /swapfile.sys \\. \% systemdrive%

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

icat \\. \% systemdrive% INODE_NUMBER> OUTPUT_PATH

Например:

C: \> ifind -n /swapfile.sys \\. \% Systemdrive%
1988

C: \> icat \\. \% Systemdrive% 1988>% systemdrive% \ swapfile.dmp

ПРИМЕЧАНИЕ. Необходимо запустить обе команды из командной строки с повышенными правами (т. Е. Запускать с правами cmdадминистратора).


инструмент вылетает при попытке запустить команду
magicandre1981

@ magicandre1981 Вы должны запустить его как администратор. Я забыл упомянуть, что
Vinayak

Я уже сделал это.
magicandre1981

@ magicandre1981 Какую версию Windows вы используете? Кроме того, если FGET не работает для вас, есть другие способы получить файл подкачки из работающей системы. Проверьте первую ссылку в моем ответе для некоторых альтернатив.
Винаяк

Я использую оригинальную Windows 8 (64Bit). Я получаю c0000417 (STATUS_INVALID_CRUNTIME_PARAMETER) в качестве кода ошибки
magicandre1981
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.