Windows 8の「C:\ swapfile.sys」の目的は何ですか?


61

Windows 8では、C:\に次の2つのファイルがあります

  1. pagefile.sys-驚きはありません。ページファイルサイズと同じ大きさです
  2. swapfile.sys-サイズは256MBです

この追加swapfile.sysファイルの目的は何ですか?

これに関する権威ある答えを探しています。これについてはすでに十分な推測がウェブ上にあります。


3
答えここでは SWAPFILE.SYSのための1つの主な用途として、メトロのアプリのサスペンド/レジュームを命名、かなり権威のように見えます。
インドレック

@Indrekはい。私はもう少し詳細を期待していました。なぜ2つのファイルなのですか?既存の回答の詳細は非常に薄いです。
usr

4
奇妙なことに、Windows 8はスワッピングとページングの両方を同時にサポートしています。ページファイルの背中には、物理メモリをオーバーコミットしていないオブジェクトを保持して時間の非常に長い期間でアクセスを。それらがないので、スワップファイルは、積極的にメモリから排出されたものを保持していることがしばらくアクセス。ページングは​​、高性能デスクトップでより効果的です。スワップは、パフォーマンスの低いタブレットや携帯電話でより効果的です。1つのファイルを使用すると、ページング用の小さな固定サイズのページとスワッピング用の大きなチャンクが混在するため、ファイルが大きく断片化されます。
デビッドシュワルツ

ページファイルがページングplusではなくページングのみに使用されると想定しているプログラムが多すぎるため、2つのファイルが必要です。
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は、システムが圧力を検出したときに追加のメモリを取得するために、中断されたModernアプリの(プライベート)ワーキングセット全体をディスクに効率的に書き込むことができます。このプロセスは、特定のアプリを休止状態にしてから、ユーザーがアプリに戻ったときに再開することに似ています。この場合、Windows 8はModernアプリの一時停止/再開メカニズムを利用して、アプリのワーキングセットを空にするか再設定します。


39

Technetフォーラムの Microsoftスタッフから。

これは、特定のタイプのページング操作をより効率的にするためにシステムによって内部的に使用される特別なタイプのページファイルです。自動ダンプ設定とは関係ありません。

 

Metroスタイルアプリの中断/再開は1つのシナリオであり、将来的には別のシナリオになる可能性があります。


3

私はそれの目的が何なのか正確にはわかりませんが、現在使用中のコンテンツを保存/キャッシュするために使用されているようです。

あなたの中にあるものを見て好奇心旺盛であれば、あなたはできるロックされたファイルの取得などのSWAPFILE.SYSまたはpagefile.sysに使用して、実行中のWindowsシステムからFGET(HBGaryによって法医学取得を)。

(管理者として)次のコマンドを実行します。

FGET -extract%systemdrive%\ swapfile.sys OUTPUT_PATH

その後、を使用して文字列分析を実行できますStrings。私のシステムのswapfile.sys内で、とりわけ私が見つけたもの:

私の電子メールアドレス、複数の電子メールと電子メールアドレス、環境変数、アクセスしたWebページの部分的なコンテンツ、mimetype文字列、ユーザーエージェント文字列、XMLファイル、URL、IPアドレス、ユーザー名、ライブラリ関数名、アプリケーション設定、パス文字列など

また、一般的な画像形式を探すためにファイル切り分けてみたところ、アプリケーションアイコン、Webページリソース、いくつかのプロファイル画像、Metroアプリの画像リソースなどで構成されるいくつかのJPEGとPNGが見つかりました。


FGETうまくいかない 場合は、The Sleuth Kitを使用ifindしてみてください。次を使用して、swapfile.sysの MFTエントリ番号を見つけることができます。icatifind

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

iノード番号を取得したら、次を使用してファイルを取得できます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が機能しない場合は、実行中のシステムからスワップファイルを取得する他の方法があります。いくつかの選択肢については、私の回答の最初のリンクを確認してください。
ビナヤック

私はオリジナルのWindows 8(64ビット)を使用します。エラーコードとしてc0000417(STATUS_INVALID_CRUNTIME_PARAMETER)が表示されます
-magicandre1981
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.