Jaki jest cel „C: \ swapfile.sys” w systemie Windows 8?

61

W systemie Windows 8 w C są dwa następujące pliki: \

  1. pagefile.sys - nic dziwnego. Jest tak duży, jak skonfigurowałem rozmiar pliku strony
  2. swapfile.sys - ma rozmiar 256 MB

Jaki jest cel tego dodatkowego swapfile.syspliku?

Szukam autorytatywnej odpowiedzi w tej sprawie. W sieci jest już wystarczająco dużo spekulacji.

usr
źródło
3
Odpowiedzi tutaj wydają się dość autorytatywne, nazywając zawieszanie / wznawianie aplikacji Metro jako jedno z głównych zastosowań swapfile.sys.
Indrek
@Indrek tak. Miałem nadzieję na trochę więcej szczegółów. Dlaczego dwa pliki? Istniejące odpowiedzi są dość szczegółowe.
usr
4
Co dziwne, Windows 8 obsługuje jednocześnie zamianę i stronicowanie. Oparcia pliku stronicowania overcommitted pamięci fizycznej i posiada obiekty, które nie zostały obejrzano w bardzo długim okresie czasu. Plik wymiany trzyma rzeczy aktywnie wyrzucane z pamięci, ponieważ nie będzie można uzyskać za chwilę. Przywoływanie jest bardziej skuteczne na komputerach o wysokiej wydajności. Zamiana jest bardziej skuteczna w przypadku tabletów i telefonów o niskiej wydajności. Jeśli użyty zostanie jeden plik, zostanie on mocno pofragmentowany z powodu mieszanki małych stron o stałej wielkości do stronicowania i dużych fragmentów do zamiany.
David Schwartz
Potrzebne są dwa pliki, ponieważ zbyt wiele programów zakłada, że ​​plik stronicowania będzie używany TYLKO do stronicowania, a nie stronicowania plus .
surfasb

Odpowiedzi:

5

Kilka linków poza opublikowanymi odpowiedziami prowadzi do linków do nich, ale http://blogs.technet.com/b/askperf/archive/2012/10/28/windows-8-windows-server-2012-the-new -swap-file.aspx

wydaje się być bardziej ostateczną odpowiedzią:

Możesz zapytać: „Dlaczego potrzebujemy innego wirtualnego pliku strony?”. Cóż, wraz z wprowadzeniem aplikacji Modern, potrzebowaliśmy sposobu zarządzania ich pamięcią poza tradycyjną metodą Virtual Memory / Pagefile. Dzięki temu narodził się „% SystemDrive% \ swapfile.sys”.

Windows 8 może skutecznie zapisywać cały (prywatny) zestaw roboczy zawieszonej nowoczesnej aplikacji na dysk, aby zyskać dodatkową pamięć, gdy system wykryje ciśnienie. Ten proces jest analogiczny do hibernacji określonej aplikacji, a następnie wznawiania jej, gdy użytkownik przełącza się z powrotem na aplikację. W takim przypadku system Windows 8 korzysta z mechanizmu zawieszania / wznawiania nowoczesnych aplikacji w celu opróżnienia lub ponownego wypełnienia zestawu roboczego aplikacji.

Orangutech
źródło
39

Członek personelu Microsoft na forach Technet .

Jest to specjalny typ pliku stronicowania wykorzystywany wewnętrznie przez system w celu zwiększenia wydajności niektórych rodzajów stronicowania. Nie ma to związku z ustawieniem automatycznego zrzutu.

 

Zawieszenie / wznowienie aplikacji w stylu Metro to jeden scenariusz, w przyszłości mogą być inne.

Karthik T.
źródło
3

Chociaż nie jestem do końca pewien, jaki jest jego cel, wygląda na to, że służy do przechowywania / buforowania zawartości, która jest obecnie używana.

Jeśli chcesz zobaczyć, co jest w środku, możesz uzyskać zablokowane pliki, takie jak swapfile.sys lub pagefile.sys z działającego systemu Windows za pomocą FGET(Forensic Get by HBGary).

Uruchom następujące polecenie (jako administrator):

FGET -extract% systemdrive% \ swapfile.sys OUTPUT_PATH

Następnie możesz wykonać analizę ciągu za pomocą Strings. W swapfile.sys w moim systemie znalazłem między innymi:

mój adres e-mail, kilka e-maili i adresów e-mail, zmienne środowiskowe, częściowa zawartość odwiedzonych stron internetowych, ciągi mimetype, ciągi agenta użytkownika, pliki XML, adresy URL, adresy IP, nazwy użytkowników, nazwy funkcji biblioteki, preferencje aplikacji, ciągi ścieżek itp.

Próbowałem też wyrzeźbić plik w poszukiwaniu popularnych formatów obrazów i znalazłem kilka plików JPEG i PNG zawierających ikony aplikacji, zasoby strony internetowej, kilka zdjęć profilowych, zasoby obrazów z aplikacji Metro itp.


Jeśli FGETto nie działa, spróbuj użyć ifindi icatod The Sleuth Kit . Można znaleźć numer wpisu MFT dla swapfile.sys wykorzystujących ifindw sposób następujący:

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

Po uzyskaniu numeru i-węzła można pobrać plik icatw następujący sposób:

icat \\. \% systemdrive% INODE_NUMBER> OUTPUT_PATH

Na przykład:

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

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

UWAGA: Musisz uruchomić oba polecenia z wiersza polecenia z podwyższonym poziomem uprawnień (tj. Uruchomić cmdjako administrator)

Vinayak
źródło
narzędzie ulega awarii, gdy próbowałem uruchomić polecenie
magicandre1981
@ magicandre1981 Musisz uruchomić go jako administrator. Zapomniałem wspomnieć, że
Vinayak
Już to zrobiłem.
magicandre1981
@ magicandre1981 Z jakiej wersji systemu Windows korzystasz? Ponadto, jeśli FGET nie działa dla ciebie, istnieją inne sposoby na odzyskanie pliku wymiany z działającego systemu. Sprawdź pierwszy link w mojej odpowiedzi dla niektórych alternatyw.
Vinayak,
Używam oryginalnego systemu Windows 8 (64Bit). Dostaję c0000417 (STATUS_INVALID_CRUNTIME_PARAMETER) jako kod błędu
magicandre1981