ページフォールトは故障?|空きメモリーがあっても起きる理由
無名サイエンス
0:00 / 0:00
ページフォールトは故障?|空きメモリーがあっても起きる理由
25 просмотров · 8 дн. назад
無名サイエンス
34 подписчика
25 просмотров · 8 дн. назад
ページフォールトは故障?|空きメモリーがあっても起きる理由
空きメモリーがあるのにページフォールトが起きるのはなぜ? Linuxを例に、仮想アドレスと物理ページ、初回アクセス、コピーオンライト、マイナー/メジャーフォールトの違いを図解します。回数を見てすぐに障害やメモリー不足と判断せず、処理の種類と測定区間を確かめる方法を整理します。全図と確認問題は仕様に基づく説明用の模式図で、実測値・実行ログではありません。
音声:VOICEVOX Nemo(男声2)
https://voicevox.hiroshiba.jp/nemo/
チャプター
00:00 メモリーは空いているのに、ページフォールト?
00:17 例:新しい領域へ、初めて書き込む
00:46 なぜ、仮想アドレスを使うのか
01:18 ページテーブルで、対応を管理する
01:48 ページフォールトで、OSへ処理が移る
02:25 初回書き込みで、物理ページを用意する
03:04 コピーオンライト:書くときに分ける
03:44 重要ポイント:回数と故障は、同じではない
04:12 Linuxでは、I/Oの有無も分けて見る
04:44 不正なアクセスなら、再開できない場合も
05:16 実務では、同じ処理区間の差分を測る
05:52 確認問題:初回だけマイナーが増えた
06:14 答え:初回のページ準備でも説明できる
出典
https://docs.kernel.org/admin-guide/m... — Virtual Memory Primer; Anonymous Memory; Page cache
https://docs.kernel.org/mm/page_table... — MMU, TLB, and Page Faults; Page Tables
https://man7.org/linux/man-pages/man2... — DESCRIPTION: prot, MAP_ANONYMOUS, MAP_PRIVATE, MAP_POPULATE; SIGSEGV
https://man7.org/linux/man-pages/man2... — DESCRIPTION; NOTES: copy-on-write
https://man7.org/linux/man-pages/man2... — RUSAGE_SELF; ru_minflt; ru_majflt
https://man7.org/linux/man-pages/man7... — Signal dispositions; hardware exceptions; SIGSEGV
確認問題:新しい匿名領域への初回書き込みでマイナーだけ増加。空きメモリー不足やストレージ読み込みが原因と言えるか?
答え:この情報だけでは断定できない。初回の物理ページと対応の準備でも説明できる。マイナーはフォールト処理にI/Oが不要だった分類で、プログラム全体のI/Oの有無とは別。対象・区間・仕事量をそろえて時間と照合する。