Перейти к содержимому

ページフォールトは故障?|空きメモリーがあっても起きる理由

無名サイエンス

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の有無とは別。対象・区間・仕事量をそろえて時間と照合する。