@prefix schema: <https://schema.org/> .
@prefix skos: <http://www.w3.org/2004/02/skos/core#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix ks: <https://comcomponent.com/vocab/> .

<https://comcomponent.com/blog/windows-memory-internals-page-lifecycle-pagefile/#article>
    schema:about <https://comcomponent.com/knowledge/pfn-database/>, <https://comcomponent.com/knowledge/page-file/> ;
    schema:mentions <https://comcomponent.com/knowledge/working-set/>, <https://comcomponent.com/knowledge/working-set-trim/>, <https://comcomponent.com/knowledge/standby-page-list/>, <https://comcomponent.com/knowledge/modified-page-list/>, <https://comcomponent.com/knowledge/free-page-list/>, <https://comcomponent.com/knowledge/zeroed-page-list/>, <https://comcomponent.com/knowledge/available-memory/>, <https://comcomponent.com/knowledge/soft-page-fault/>, <https://comcomponent.com/knowledge/hard-page-fault/>, <https://comcomponent.com/knowledge/modified-page-writer/>, <https://comcomponent.com/knowledge/memory-compression-store/>, <https://comcomponent.com/knowledge/commit-limit/>, <https://comcomponent.com/knowledge/memory-commit/>, <https://comcomponent.com/knowledge/system-crash-dump/>, <https://comcomponent.com/knowledge/rammap/>, <https://comcomponent.com/knowledge/testlimit/>, <https://comcomponent.com/knowledge/windbg/>, <https://comcomponent.com/knowledge/pages-input-per-sec/>, <https://comcomponent.com/knowledge/page-file-removal/>, <https://comcomponent.com/knowledge/private-modified-page/> .

<https://comcomponent.com/knowledge/pfn-database/> a skos:Concept ;
    skos:prefLabel "PFNデータベース"@ja ;
    skos:definition "物理RAMをページ単位に番号付けし、各ページの状態・参照数・対応PTE・変更の有無・所属ページリストを追跡する台帳。"@ja ;
    ks:verifiedBy <https://comcomponent.com/knowledge/windbg/> ;
    ks:verifiedBy <https://comcomponent.com/knowledge/rammap/> .

<https://comcomponent.com/knowledge/page-file/> a skos:Concept ;
    skos:prefLabel "ページファイル"@ja ;
    skos:definition "Windowsがコミット上限を支え、変更済みの非アクティブページをRAM外へ退避し、構成に応じてクラッシュダンプにも利用するディスク上のファイル。"@ja ;
    skos:altLabel "page file" ;
    skos:altLabel "paging file" ;
    ks:implements <https://comcomponent.com/knowledge/commit-limit/> .

<https://comcomponent.com/knowledge/windbg/> a skos:Concept ;
    skos:prefLabel "WinDbg"@ja ;
    skos:definition "クラッシュダンプやハングしたプロセスの状態をカーネル/ユーザーモードで解析するためのMicrosoft製デバッガー。SOS拡張によるマネージドヒープ解析や、Application Verifierの検出結果の解析にも使われる。"@ja ;
    skos:altLabel "Debugging Tools for Windows" .

<https://comcomponent.com/knowledge/rammap/> a skos:Concept ;
    skos:prefLabel "RAMMap"@ja ;
    skos:definition "OS全体の物理メモリ使用状況を、Use Counts・Processes・File Summaryなどのタブで分析できるSysinternalsのツールである。"@ja ;
    skos:altLabel "RAMMap.exe" .

<https://comcomponent.com/knowledge/working-set-trim/> a skos:Concept ;
    skos:prefLabel "Working Setのトリミング"@ja ;
    skos:definition "利用可能メモリを作るために、メモリマネージャーがWorking Setからページを削除すること。"@ja ;
    ks:mayCause <https://comcomponent.com/knowledge/standby-page-list/> ;
    ks:notRecommendedFor <https://comcomponent.com/knowledge/memory-commit/> .

<https://comcomponent.com/knowledge/standby-page-list/> a skos:Concept ;
    skos:prefLabel "Standbyリスト"@ja ;
    skos:definition "以前の内容との対応関係を保ったまま、必要になれば奪える再利用候補として置かれた物理ページの集合。"@ja ;
    ks:implements <https://comcomponent.com/knowledge/available-memory/> .

<https://comcomponent.com/knowledge/memory-commit/> a skos:Concept ;
    skos:prefLabel "Commit(MEM_COMMIT)"@ja ;
    skos:definition "システム全体のメモリとページファイルに対するコミット料金を課し、将来その内容をRAMまたはバックストアで保持できると約束する操作。"@ja ;
    ks:verifiedBy <https://comcomponent.com/knowledge/testlimit/> .

<https://comcomponent.com/knowledge/soft-page-fault/> a skos:Concept ;
    skos:prefLabel "ソフトページフォールト"@ja ;
    skos:definition "裏付けストアからの読み込みを行わず、StandbyまたはTransition、別プロセスに常駐する共有ページ、demand-zeroなどで解決できるページフォールト。"@ja ;
    skos:altLabel "soft page fault" ;
    ks:uses <https://comcomponent.com/knowledge/standby-page-list/> .

<https://comcomponent.com/knowledge/available-memory/> a skos:Concept ;
    skos:prefLabel "利用可能メモリ(Available)"@ja ;
    skos:definition "ディスクへ書き出さずに直ちに再利用できる物理メモリ。Standby・Free・Zeroedの合計にあたる。"@ja .

<https://comcomponent.com/knowledge/free-page-list/> a skos:Concept ;
    skos:prefLabel "Freeリスト"@ja ;
    skos:definition "以前の内容との有効な対応関係を失い、割り当て可能になった物理ページ。古いビット列が残っている可能性がある。"@ja ;
    ks:implements <https://comcomponent.com/knowledge/available-memory/> .

<https://comcomponent.com/knowledge/zeroed-page-list/> a skos:Concept ;
    skos:prefLabel "Zeroedリスト"@ja ;
    skos:definition "内容がゼロ化され、ユーザーモードの新規ページとして安全に渡せる物理ページ。"@ja ;
    ks:implements <https://comcomponent.com/knowledge/available-memory/> .

<https://comcomponent.com/knowledge/modified-page-list/> a skos:Concept ;
    skos:prefLabel "Modifiedリスト"@ja ;
    skos:definition "Working Setから外れた変更済みページが、バックストアへの書き戻しを待つ状態。"@ja ;
    ks:requires <https://comcomponent.com/knowledge/modified-page-writer/> .

<https://comcomponent.com/knowledge/modified-page-writer/> a skos:Concept ;
    skos:prefLabel "Modified Page Writer"@ja ;
    skos:definition "ページファイルバックのdirtyページを走査してページファイルへ書き出す、メモリマネージャーのシステムワーカー。"@ja ;
    ks:mayCause <https://comcomponent.com/knowledge/standby-page-list/> .

<https://comcomponent.com/knowledge/private-modified-page/> a skos:Concept ;
    skos:prefLabel "プライベートな変更済みページ"@ja ;
    skos:definition "元のディスクコピーを持たない、プロセス固有の変更済みメモリページ。ディスクへ退避する場合の書き込み先はページファイルになる。"@ja ;
    ks:storedIn <https://comcomponent.com/knowledge/page-file/> .

<https://comcomponent.com/knowledge/commit-limit/> a skos:Concept ;
    skos:prefLabel "Commit LimitとCommit Total"@ja ;
    skos:definition "CommitTotalが現在のシステムCommitページ数、CommitLimitがページファイルを拡張せずにCommitできる上限を表す。"@ja .

<https://comcomponent.com/knowledge/system-crash-dump/> a skos:Concept ;
    skos:prefLabel "システムクラッシュダンプ"@ja ;
    skos:definition "システム停止時にMemory.dmpとして採取されるメモリの内容。方式ごとに必要な容量が異なる。"@ja .

<https://comcomponent.com/knowledge/memory-compression-store/> a skos:Concept ;
    skos:prefLabel "メモリ圧縮ストア"@ja ;
    skos:definition "メモリ圧力があるとき、使用頻度の低いページをディスクへ書く代わりにRAM内で圧縮して保持する仕組み。"@ja ;
    ks:notRecommendedFor <https://comcomponent.com/knowledge/page-file-removal/> ;
    ks:storedIn <https://comcomponent.com/knowledge/working-set/> .

<https://comcomponent.com/knowledge/hard-page-fault/> a skos:Concept ;
    skos:prefLabel "ハードページフォールト"@ja ;
    skos:definition "必要なページをページファイル、実行ファイル、DLL、メモリマップトファイルなどの裏付けストアから読み込んで解決するページフォールト。"@ja ;
    skos:altLabel "hard page fault" .

<https://comcomponent.com/knowledge/page-file-removal/> a skos:Concept ;
    skos:prefLabel "ページファイルの廃止"@ja ;
    skos:definition "ページファイルを構成しない・削除する運用。コミット上限が下がり、システムクラッシュダンプの既定の書き込み先も失われる。"@ja .

<https://comcomponent.com/knowledge/working-set/> a skos:Concept ;
    skos:prefLabel "Working Set"@ja ;
    skos:definition "プロセスが現在RAMに常駐させている仮想ページの集合。"@ja .

<https://comcomponent.com/knowledge/pages-input-per-sec/> a skos:Concept ;
    skos:prefLabel "Memory\\Pages Input/sec"@ja ;
    skos:definition "ハードページフォルトを解決するためにディスクから読み込まれたページ数を表すパフォーマンスカウンター。"@ja ;
    ks:notRecommendedFor <https://comcomponent.com/knowledge/page-file/> .

<https://comcomponent.com/knowledge/testlimit/> a skos:Concept ;
    skos:prefLabel "Testlimit"@ja ;
    skos:definition "メモリ確保(-m)と確保+Touch(-d)を分けて実行できるSysinternalsの負荷ツール。"@ja .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/pfn-database/> ;
    rdf:predicate ks:verifiedBy ;
    rdf:object <https://comcomponent.com/knowledge/windbg/> ;
    schema:description "!pfnが指定したPFNエントリーの状態・参照・PTEアドレスを、!memusageが物理メモリ利用とZeroed・Free・Standby・Modified・Activeなどのページ状態の集計を表示する。"@ja ;
    ks:evidence <https://learn.microsoft.com/windows-hardware/drivers/debuggercmds/-pfn>, <https://learn.microsoft.com/windows-hardware/drivers/debuggercmds/-memusage> ;
    ks:verifiedAt "2026-08-20" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/pfn-database/> ;
    rdf:predicate ks:verifiedBy ;
    rdf:object <https://comcomponent.com/knowledge/rammap/> ;
    schema:description "カーネルデバッガーを使わずに同じ世界を観測するならRAMMapが使える。Use Countsで用途とページリスト、Priority Summaryで優先度別Standby、Physical Pagesでページ単位の利用状況が分かる。"@ja ;
    ks:evidence <https://learn.microsoft.com/sysinternals/downloads/rammap> ;
    ks:verifiedAt "2026-08-20" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/working-set-trim/> ;
    rdf:predicate ks:mayCause ;
    rdf:object <https://comcomponent.com/knowledge/standby-page-list/> ;
    schema:description "メモリマネージャーは利用可能メモリを作るためにWorking Setからページを削除する。内容が元ファイルと同じか、すでに安全なバックストアを持つcleanなページはStandbyへ置ける。"@ja ;
    ks:evidence <https://learn.microsoft.com/windows/win32/memory/working-set> ;
    ks:verifiedAt "2026-08-20" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/working-set-trim/> ;
    rdf:predicate ks:notRecommendedFor ;
    rdf:object <https://comcomponent.com/knowledge/memory-commit/> ;
    schema:description "トリミングで変わるのは今すぐ有効PTEで参照できる常駐状態だけで、Commitの解放・仮想アドレス範囲の解放とは別の出来事である。EmptyWorkingSetはVirtualFreeやヒープ解放の代わりにならない。"@ja ;
    ks:evidence <https://learn.microsoft.com/windows/win32/memory/working-set> ;
    ks:verifiedAt "2026-08-20" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/soft-page-fault/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/standby-page-list/> ;
    schema:description "Standbyページは以前の内容との対応関係を保っているため、まだ再利用されていなければPTEを再接続するソフトフォルトだけで戻せる。Transitionや他プロセスのWorking Setに残るページも同様に解決できる。"@ja ;
    ks:evidence <https://learn.microsoft.com/windows/win32/memory/working-set> ;
    ks:verifiedAt "2026-08-22" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/standby-page-list/> ;
    rdf:predicate ks:implements ;
    rdf:object <https://comcomponent.com/knowledge/available-memory/> ;
    schema:description "ullAvailPhysはディスクへ書かずに直ちに再利用できる物理メモリで、Standby・Free・Zeroedリストの合計である。Standbyはキャッシュであると同時に再利用候補でもある。"@ja ;
    ks:evidence <https://learn.microsoft.com/windows/win32/api/sysinfoapi/ns-sysinfoapi-memorystatusex> ;
    ks:verifiedAt "2026-08-20" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/free-page-list/> ;
    rdf:predicate ks:implements ;
    rdf:object <https://comcomponent.com/knowledge/available-memory/> ;
    schema:description "Freeは以前の内容との有効な対応関係を失い割り当て可能になった状態だが、ページ内に古いビット列が残っている可能性があるため、ユーザーモードへそのまま渡すと以前のプロセスの情報を漏らす危険がある。"@ja ;
    ks:evidence <https://learn.microsoft.com/windows/win32/api/sysinfoapi/ns-sysinfoapi-memorystatusex> ;
    ks:verifiedAt "2026-08-20" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/zeroed-page-list/> ;
    rdf:predicate ks:implements ;
    rdf:object <https://comcomponent.com/knowledge/available-memory/> ;
    schema:description "Zeroedは内容がゼロ化され、ユーザーモードの新規ページとして安全に渡せる状態である。デマンドゼロフォルトは利用可能なZeroedページを得てPTEへ結ぶ代表例になる。"@ja ;
    ks:evidence <https://learn.microsoft.com/windows/win32/api/sysinfoapi/ns-sysinfoapi-memorystatusex> ;
    ks:verifiedAt "2026-08-20" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/modified-page-list/> ;
    rdf:predicate ks:requires ;
    rdf:object <https://comcomponent.com/knowledge/modified-page-writer/> ;
    schema:description "dirtyページをそのまま別用途に上書きするとデータを失うため、Modifiedで書き戻しを待つ。Modified Page Writerはページファイルバックのdirtyページを走査して書き出すメモリマネージャーのシステムワーカーである。"@ja ;
    ks:evidence <https://learn.microsoft.com/troubleshoot/windows-hardware/drivers/data-corruption-io-writes> ;
    ks:verifiedAt "2026-08-20" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/private-modified-page/> ;
    rdf:predicate ks:storedIn ;
    rdf:object <https://comcomponent.com/knowledge/page-file/> ;
    schema:description "すでにディスク上に存在する.dll・.exe・通常ファイルの変更済みページは元のファイルへ書き戻されるため、ページファイルへ重ねて書く必要がない。元のディスクコピーを持たないプライベートな変更済みデータこそがページファイルの候補になり、Modified Page Writerが書き出す。"@ja ;
    ks:evidence <https://learn.microsoft.com/troubleshoot/windows-client/performance/how-to-determine-the-appropriate-page-file-size-for-64-bit-versions-of-windows> ;
    ks:verifiedAt "2026-08-22" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/modified-page-writer/> ;
    rdf:predicate ks:mayCause ;
    rdf:object <https://comcomponent.com/knowledge/standby-page-list/> ;
    schema:description "書き戻しが終わり、ほかに有効参照がなければ、ページは内容を保ったままStandbyへ進める。書き出しはRAMが尽きてから始まる一括処理ではなく、Modifiedリストとメモリ圧力に応じてバックグラウンドで進む。"@ja ;
    ks:evidence <https://learn.microsoft.com/troubleshoot/windows-hardware/drivers/data-corruption-io-writes>, <https://learn.microsoft.com/troubleshoot/windows-client/performance/how-to-determine-the-appropriate-page-file-size-for-64-bit-versions-of-windows> ;
    ks:verifiedAt "2026-08-20" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/page-file/> ;
    rdf:predicate ks:implements ;
    rdf:object <https://comcomponent.com/knowledge/commit-limit/> ;
    schema:description "システムのCommit Limitは概ねRAMと全ページファイルの合計で決まる。ページファイルをなくすとCommit Limitは搭載RAMより少し小さい水準まで下がり、Commit Totalが上限に達すると新しいCommitが失敗する。"@ja ;
    ks:evidence <https://learn.microsoft.com/troubleshoot/windows-client/performance/introduction-to-the-page-file> ;
    ks:verifiedAt "2026-08-22" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/system-crash-dump/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/page-file/> ;
    schema:description "システムクラッシュ時にMemory.dmpを作るには、選択したダンプ方式を支えられるページファイルまたは専用ダンプファイルが必要になる。適正サイズはピーク時のSystem Commit Chargeと必要なダンプ方式で決まり、一般化できない。"@ja ;
    ks:evidence <https://learn.microsoft.com/troubleshoot/windows-client/performance/how-to-determine-the-appropriate-page-file-size-for-64-bit-versions-of-windows> ;
    ks:verifiedAt "2026-08-22" ;
    ks:certainty "context-dependent" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/memory-compression-store/> ;
    rdf:predicate ks:mitigates ;
    rdf:object <https://comcomponent.com/knowledge/hard-page-fault/> ;
    schema:description "メモリ圧力があるとき、使用頻度の低いページをすぐディスクへ書く代わりにRAM内で圧縮することで、より多くのアプリを物理メモリへ保ちディスクI/Oを減らす。"@ja ;
    ks:evidence <https://blogs.windows.com/windows-insider/2015/08/18/announcing-windows-10-insider-preview-build-10525/> ;
    ks:verifiedAt "2026-08-20" ;
    ks:certainty "context-dependent" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/memory-compression-store/> ;
    rdf:predicate ks:notRecommendedFor ;
    rdf:object <https://comcomponent.com/knowledge/page-file-removal/> ;
    schema:description "圧縮ページもRAMを使い、圧縮・展開にはCPUコストがかかり、圧縮してもCommitの約束は消えない。「圧縮してからページファイル」という固定順序でもなく、圧縮ストアはページファイルを不要にする機能ではない。"@ja ;
    ks:evidence <https://blogs.windows.com/windows-insider/2015/08/18/announcing-windows-10-insider-preview-build-10525/> ;
    ks:verifiedAt "2026-08-22" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/memory-compression-store/> ;
    rdf:predicate ks:storedIn ;
    rdf:object <https://comcomponent.com/knowledge/working-set/> ;
    schema:description "Windows 10初期の実装では圧縮ストアがSystemプロセスのWorking Setに計上されていたが、現行Windowsではデバッグツールのプロセス一覧に専用のMemory Compressionプロセスとして表示される。現在の圧縮量をSystemプロセスのWorking Setだけで追ってはいけない。"@ja ;
    ks:evidence <https://blogs.windows.com/windows-insider/2015/08/18/announcing-windows-10-insider-preview-build-10525/>, <https://learn.microsoft.com/windows-hardware/drivers/debugger/finding-the-process-id> ;
    ks:verifiedAt "2026-08-22" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/pages-input-per-sec/> ;
    rdf:predicate ks:notRecommendedFor ;
    rdf:object <https://comcomponent.com/knowledge/page-file/> ;
    schema:description "Page Writes/secとPages Output/secはページファイルだけを識別するカウンターではなく、マップドファイルなどファイルバックのdirtyページを書き戻す経路でも増える。入力側もページファイル・DLL・EXE・メモリマップトファイルを区別しない。pagefile.sys固有のI/Oを特定するにはETW/WPAでFile I/OとDisk I/OをFileObjectとFileNameで対応付ける。"@ja ;
    ks:evidence <https://learn.microsoft.com/troubleshoot/windows-client/performance/how-to-determine-the-appropriate-page-file-size-for-64-bit-versions-of-windows>, <https://learn.microsoft.com/windows/win32/etw/fileio-name> ;
    ks:verifiedAt "2026-08-20" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/memory-commit/> ;
    rdf:predicate ks:verifiedBy ;
    rdf:object <https://comcomponent.com/knowledge/testlimit/> ;
    schema:description "Testlimitは-mでメモリ確保、-dで確保とTouchを分けて実行できるため、Commitだけを増やした場合とTouchまで行った場合の違いを観測できる。-cは最後に指定するのが公式の構文である。"@ja ;
    ks:evidence <https://learn.microsoft.com/sysinternals/downloads/testlimit> ;
    ks:verifiedAt "2026-08-22" ;
    ks:certainty "established" .
