Яка мета “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, як не дивно, підтримує одночасно обмін і пейджинг. Файл сторінки створює резервну копію фізичної пам'яті і містить об'єкти, до яких не було доступно протягом дуже тривалого періоду часу. У swapfile зберігаються речі, які активно витягуються з пам'яті, тому що до них деякий час не можна отримати доступ. Пейджинг є більш ефективним на високопродуктивних робочих столах. Обмін є більш ефективним на низькопродуктивних планшетах та телефонах. Якщо використовується один файл, він буде сильно фрагментований через поєднання невеликих сторінок фіксованого розміру для підкачки та великих фрагментів для заміни.
Девід Шварц

Повинно бути два файли, оскільки занадто багато програм передбачають, що файл сторінки буде використовуватися ТОЛЬКО для підкачки, а не для підписки плюс .
surfasb

Відповіді:


5

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

видається більш остаточною відповіддю:

Ви можете запитати: «Навіщо нам потрібен ще один файл віртуальної сторінки?» Ну а з впровадженням сучасного додатка нам знадобився спосіб управління їх пам’яттю поза традиційним методом віртуальної пам’яті / сторінки. З цим народився “% SystemDrive% \ swapfile.sys”.

Windows 8 може ефективно записувати на диск весь (приватний) робочий набір підвішеного сучасного додатка, щоб отримати додаткову пам'ять, коли система виявляє тиск. Цей процес є аналогічним тому, що перебуває у сплячому режимі певного додатка, а потім поновлює його, коли користувач повернеться до програми. У цьому випадку Windows 8 використовує механізм призупинення / відновлення сучасних додатків, щоб очистити або повторно заповнити робочий набір програми.


39

Від співробітника Microsoft на форумах Technet .

Це особливий тип файлів сторінок, який використовується внутрішньо системою для підвищення ефективності певних типів операцій підкачки. Це не пов'язано з автоматичним налаштуванням скиду.

 

Призупинення / відновлення програм у стилі метро - це один сценарій, в майбутньому можуть бути й інші.


3

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

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

Виконайте таку команду (як адміністратор):

FGET -витягнути% systemdrive% \ swapfile.sys OUTPUT_PATH

Після чого ви можете виконати аналіз струни за допомогою Strings. У межах swapfile.sys в моїй системі, серед іншого, я знайшов:

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

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


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

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

Коли у вас є номер inode, ви можете отримати файл, використовуючи icatнаступне:

icat \\. \% systemdrive% INODE_NUMBER> OUTPUT_PATH

Наприклад:

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

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

ПРИМІТКА: Вам потрібно запустити обидві команди з підвищеного командного рядка (тобто запустити cmdяк адміністратор)


інструмент виходить з ладу, коли я намагався запустити команду
magicandre1981

@ magicandre1981 Ви повинні запустити його як адміністратор. Я забув згадати про це
Виняк

Я вже це робив.
magicandre1981

@ magicandre1981 Яку версію Windows ти працюєш? Крім того, якщо FGET не працює для вас, є й інші способи отримати файл swap із запущеної системи. Перевірте перше посилання в моїй відповіді на наявність альтернатив.
Виняк

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